日期:2014-05-17  浏览次数:20763 次

睡不下啊。在线等呀,救救我吧,就一道题
这是jsp的bean源文件 UpFile

编辑的时候出现了点问题


servlet-api.jar包已经复制到jdk安装目录下了jre\lib\ext,但还是出了错,求解啊。。。。。睡不下啊




Java code
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;
                }
            }
        }
    }





------解决方案--------------------
谁有耐心看你那么长的代码 把报的异常贴出来 

可以帮你分析 也许有用的
------解决方案--------------------
结贴率太低