日期:2014-05-17 浏览次数:20763 次
package user.file; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.RandomAccessFile; import javax.servlet.http.*; public class UpFile { HttpServletRequest request; HttpSession session; String upFileMessage=""; public void setRequest(HttpServletRequest request){ this.request=request; } public void setSession(HttpSession session){ this.session=session; } public String getUpFileMessage(){ String fileName=null; try{ String tempFileName=(String)session.getID(); File f1=new File("d:/java",tempFileName); FileOutputStream o=new FileOutputStream(f1); InputStream in=request.getInputStream(); byte b[]=new byte[1000]; int n; while((n=in.read(b))!=-1){ o.write(b,0,n); } o.close(); in.close(); RandomAccessFile random=new RandomAccesFile(f1,"r"); int second=1; String secondLine=null; while(second<=2){ secondLine=random.readLine(); second++; int position=secondLine.lastIndexOf('\\'); fileName=secondLine.substring(position+1,secondLine.length()-1); byte cc[]=fileName.getBytes("ISO-8859-1"); fileName=new String(cc); session.setAttribute("Name",fileName); random.seek(0); long forthEndPosition=0; int forth=1; while((n=random.readByte())!=-1&&(forth<=4)){ if(n=='\n'){ forthEndPosition=random.getFilePointer(); forth++; } } File f2=new File("d:/java",fileName); RandomAccessFile random2=new RandomAccessFile(f2,"rw"); random.seek(random.length()); long endPosition=random.getFilePointer(); long mark=endPosition; int j=1; while((mark>=0)&&(j<=6)){ mark--; random.seek(mark); n=random.readByte(); if(n=='\n'){ endPosition=random.getFilePointer(); j++; } } random.seek(forthEndPosition); long startPoint=random.getFilePointer(); while(startPoint<endPosition-1){ n=random.readByte(); random2.write(n); startPoint=random.getFilePointer(); } random2.close(); random.close(); f1.delete(); upFileMessage=fileName+"Successfully UpLoad"; return upFileMessage; } } catch(Exception exp){ Object fileName1; if((fileName!=null)){ upFileMessage=fileName+"Fail to UpLoad"; return upFileMessage; } else{ upFileMessage=""; return upFileMessage; } } } }