JSP文件上传并录入数据库之一

原创 2007年09月29日 10:01:00

我在做JSP文件上传时,本来是要用POI处理Excel的,但是在处理过程中出现点问题

后来就改用自己编写了,但是Excel格式比较复杂,本人就做了CSV格式的文件上传

 

1。主要变量有:

String fileName=""; //记录文件名
String mulu;  //记录文件的目录

2。以下就是文件上传的服务器的代码:

public void setupFile(){//上传文件
    try{
      //use sessionid to create a temp file.
      String tempFileName=sessid;
      //create the temp file.
      File temp=new File(mulu,tempFileName);
      FileOutputStream o=new FileOutputStream(temp);
      if(len>297){
        //write the upload content to the temp file.
        InputStream in=newIn;
        byte b[]=new byte[1024];
        int n;
        while((n=in.read(b))!=-1){
          o.write(b,0,n);
        }
        o.close();
        in.close();
        //read the temp file.
        RandomAccessFile random=new RandomAccessFile(temp,"r");
        //read Line2 to find the name of the upload file.
        int second=1;
        String secondLine=null;
        while(second<=2){
          secondLine=random.readLine();
          second++;
        }
       //get the last location of the dir char.'//'.
       int position=secondLine.lastIndexOf('//');
       //get the name of the upload file.
       fileName=secondLine.substring(position+1,secondLine.length()-1);
       //relocate to the head of file.
       random.seek(0);
       //get the location of the char.'Enter' in Line4.
       long forthEndPosition=0;
       int forth=1;
       while((n=random.readByte())!=-1&&(forth<=4)){
         if(n=='/n'){
           forthEndPosition=random.getFilePointer();
           forth++;
         }
       }

       //locate the end position of the content.Count backwards 6 lines.
       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++;
         }
       }
       //建立除去表单信息的新文件
       File realFile=new File(mulu,fileName);
       RandomAccessFile random2=new RandomAccessFile(realFile,"rw");
       //locate to the begin of content.Count for 4 lines's end position.
       random.seek(forthEndPosition);//定位到临时文件第四行的位置
       long startPoint=random.getFilePointer();//定位第六行的位置
       while(startPoint<endPosition-1){//写文件
         n=random.readByte();
         random2.write(n);
         startPoint=random.getFilePointer();
       }
       random2.close();//管理随机读写对象
       random.close();
       temp.delete();//删除临时文件
       msgUpfile="文件读取成功!<br><br>";
     }
     else{//没上传文件
       msgUpfile="请上传文件!<br><br>";
     }
}
catch(IOException e){
msgUpfile="文件上传失败!<br><br>";
e.printStackTrace();
}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

MVC分层+JDBC+数据库+Servlet实现JSP文件上传+模糊查询+分页

JSP文件上传所需JAR包

  • 2017-08-17 00:02
  • 67KB
  • 下载

FILEUPLOAD、JSP文件上传

  • 2012-12-27 18:54
  • 3.11MB
  • 下载

jsp文件上传原理

文件上传的原理,文件上传用到的jar包,文件上传遇到文件编码问题,文件的大小限制,文件上传临时文件的设置,文件上传重命名问题,分目录存储上传的文件,多个文件上传时,没有上传内容的问题,上传进度检测。 ...

jsp文件上传

JSP文件上传组件整理

第1个上传组件commons-fileupload =============commons-fileupload ================ common-fileupload组件是apa...

jsp文件上传

  • 2015-06-19 08:45
  • 35KB
  • 下载

jsp文件上传java驱动包

  • 2011-05-25 17:15
  • 14KB
  • 下载

jsp文件上传

首先需要将上传所需要的类库引入web工程中  然后需要了解上传表单enctype的属性,该属性用于设置表单递交数据的编码方式 他有三个值: 1.aplication/x-www-form-urle...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)