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文件上传

  • 2012年03月27日 15:47
  • 1KB
  • 下载

jsp文件上传

  • 2015年06月19日 08:45
  • 35KB
  • 下载

不用外部JAR包,自己实现JSP文件上传!

看书上(JSP应用与开发技术)使用JSP文件上传,写了个真无语,压根就有很多问题,上传500KB的文件传过去后只剩350KB,而且编码必须是GBK、GB2312,否则传过去的文件都数据截取不正确。 琢...

jsp文件上传java驱动包

  • 2011年05月25日 17:15
  • 14KB
  • 下载

Jsp文件上传助手 JspUpload Beta 1.0

  • 2009年05月29日 03:38
  • 636KB
  • 下载

jsp文件上传原理

文件上传的原理,文件上传用到的jar包,文件上传遇到文件编码问题,文件的大小限制,文件上传临时文件的设置,文件上传重命名问题,分目录存储上传的文件,多个文件上传时,没有上传内容的问题,上传进度检测。 ...
  • Mr_li13
  • Mr_li13
  • 2015年10月22日 11:13
  • 1209

jsp文件上传所需common包

  • 2016年05月07日 16:56
  • 204KB
  • 下载

servlet+jsp文件上传示例

  • 2009年02月26日 18:24
  • 9KB
  • 下载

JSP文件上传组件整理

第1个上传组件commons-fileupload =============commons-fileupload ================ common-fileupload组件是apa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP文件上传并录入数据库之一
举报原因:
原因补充:

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