Java 文件夹传输的实现

问题描述

关于Java实现文件夹的网络传输,我在网上搜索到可以用遍历,解压缩和Xml解析,但是都没有给出具体的实现方式,有谁曾经做过类似的东西吗?可以的话拿出来供大家学习一下吧!

解决方案

解决方案二:
没有做过相关方面的研究,是不是用zip流来实现的呢。期待高手?
解决方案三:
for循环if是文件夹就递归else传输
解决方案四:
你的上传和下载么
解决方案五:
我这有一个文件上传的例子,你可以参考一下。有结果要给我加分!!!packagetest;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.ServletInputStream;importjava.util.Dictionary;importjava.util.Hashtable;importjava.io.*;publicclassFileUpload{//定义变量,用来存储上传文件的名字,路径等privateStringsavePath,filepath,filename,contentType;//保存了用户在表单中输入数据的名字/值对privateDictionaryfields;//获得文件名字publicStringgetFilename(){returnfilename;}//获得上传文件的路径publicStringgetFilepath(){returnfilepath;}//设定上传文件的路径,如果没有设定就保存在服务器默认目录publicvoidsetSavePath(StringsavePath){this.savePath=savePath;}//得到文件类型publicStringgetContentType(){returncontentType;}publicStringgetFieldValue(StringfieldName){if(fields==null||fieldName==null)returnnull;return(String)fields.get(fieldName);}privatevoidsetFilename(Strings){if(s==null)return;intpos=s.indexOf("filename="");if(pos!=-1){filepath=s.substring(pos+10,s.length()-1);pos=filepath.lastIndexOf("\");if(pos!=-1)filename=filepath.substring(pos+1);elsefilename=filepath;}}privatevoidsetContentType(Strings){if(s==null)return;intpos=s.indexOf(":");if(pos!=-1)contentType=s.substring(pos+2,s.length());}publicvoiddoUpload(HttpServletRequestrequest)throwsIOException{ServletInputStreamin=request.getInputStream();byte[]line=newbyte[128];inti=in.readLine(line,0,128);if(i<3)return;intboundaryLength=i-2;Stringboundary=newString(line,0,boundaryLength);//-2丢弃换行字符fields=newHashtable();while(i!=-1){StringnewLine=newString(line,0,i);if(newLine.startsWith("Content-Disposition:form-data;name="")){if(newLine.indexOf("filename="")!=-1){setFilename(newString(line,0,i-2));if(filename==null)return;//文件内容i=in.readLine(line,0,128);setContentType(newString(line,0,i-2));i=in.readLine(line,0,128);//空行i=in.readLine(line,0,128);newLine=newString(line,0,i);PrintWriterpw=newPrintWriter(newBufferedWriter(newFileWriter((savePath==null?"":savePath)+filename)));while(i!=-1&&!newLine.startsWith(boundary)){//文件内容的最后一行包含换行字符//因此我们必须检查当前行是否是最//后一行i=in.readLine(line,0,128);if((i==boundaryLength+2||i==boundaryLength+4)&&(newString(line,0,i).startsWith(boundary)))pw.print(newLine.substring(0,newLine.length()-2));elsepw.print(newLine);newLine=newString(line,0,i);}pw.close();}else{//普通表单输入元素//获取输入元素名字intpos=newLine.indexOf("name="");StringfieldName=newLine.substring(pos+6,newLine.length()-3);i=in.readLine(line,0,128);i=in.readLine(line,0,128);newLine=newString(line,0,i);StringBufferfieldValue=newStringBuffer(128);while(i!=-1&&!newLine.startsWith(boundary)){//最后一行包含换行字符//因此我们必须检查当前行是否是最后一行i=in.readLine(line,0,128);if((i==boundaryLength+2||i==boundaryLength+4)&&(newString(line,0,i).startsWith(boundary)))fieldValue.append(newLine.substring(0,newLine.length()-2));elsefieldValue.append(newLine);newLine=newString(line,0,i);}fields.put(fieldName,fieldValue.toString());}}i=in.readLine(line,0,128);}}}
解决方案六:
我有完整代码,是自己实现的,可以加qq115194774

时间: 2024-10-28 08:48:16

Java 文件夹传输的实现的相关文章

java-怎样完全删除控制面板中的JAVA文件夹?

问题描述 怎样完全删除控制面板中的JAVA文件夹? 已经卸载了JDK,注册表也用360清理了,但是控制面板中JAVA 文件夹一直存在,删不掉,求大神给个方法删掉!!! 解决方案 这个问题同时也困扰着大家啊,上次不知道是怎么弄的!忘记了!!

solr-java 文件夹上传 实现

问题描述 java 文件夹上传 实现 有没有完整的第三方框架可以实现文件夹上传,最好是文档详细的,我看很多都是基于html5的拖拽上传,本人不是很了解html5请各位指教,谢谢! 解决方案 可以考虑使用easyui的上传插件挺好用, 解决方案二: uploadify 这个上传挺不错的

php将文件夹打包成zip文件的简单实现方法_php技巧

示例如下: function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. while(($filename=readdir($handler))!==false){ if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和'..',不要对他们进行操作 if(is_dir($path."/&q

java socket传输文件夹出问题,帮忙修改?应该是服务器端有问题(读取文件那里有问题)

问题描述 服务器端mportjava.net.*;importjava.io.*;publicclassFolderServer{ServerSocketserver;Socketclient;DataInputStreamdis;FileOutputStreamfos;intlength;byte[]b=newbyte[1024];publicstaticvoidmain(String[]args){newFolderServer().ServerStart();}publicvoidServ

代码分析-Java中如何判断文件夹下当天有没有放文件?

问题描述 Java中如何判断文件夹下当天有没有放文件? List files = ftpUtil.getFileList(this.ftpTaskFolder);//ftp任务目录上获取任务文件 // 获取机构号全量数据传输任务文件 String organcodeFileName = """"; for (int i = 0; files != null && i < files.size(); i++) { String tempFileN

用java“打开个文件夹并选中指定文件? 在线等……

问题描述 要做一个即时聊天的东西,就是传输文件后点击文件名就要打开文件所在的目录并让该文件处于被选中状态比如D:/Adir/Bdir/c.txt,我就要打开D:/Adir/Bdir这个目录并让c.txt这个文件处于被选中状态网上看了看有用windows的explorer/select来处理,Runtime.getRuntime().exec("explorer/select,"+"D:/Adir/Bdir/c.txt");但是文件名遇到多个空格就不行了:比如:D:/

怎么用java显示ftp服务器上文件夹中的图片在jsp页面上?

问题描述 怎么用java显示ftp服务器上文件夹中的图片在jsp页面上? ftp在另一台windows上,访问jsp页面要读取并显示出ftp上的图片. ftp上的图片路径保存在数据库中,操作ftp的jar我选了apache的FtpClient. 现在的问题是,action获取到ftp上的文件后,是下载下来再读取成流输出到页面呢?还是直接从FTP获取成流输出到页面?如果有,求思路,最好有代码举例我不想ftp上的文件下载到部署环境上然后再输出到页面,想通过读取ftp的流直接显示到页面,页面关闭后流就

windows-如何用Java扫描Windows下的文件夹?

问题描述 如何用Java扫描Windows下的文件夹? 如何用Java扫描Windows下的文件夹以及文件夹下面的文件 解决方案 import java.io.File;/** * *自动扫描文件夹下的文件 *用途:自动扫描脚本输入路径,输出要执行的sql导入数据库: */public class OutSql { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method

删除文件夹的java类

/** * @author www.nwu.edu.cn MiniRice  * @author darkrice@gmail.com * @version    1.2 * */ package cn.edu.nwu.io; import java.util.*; public class File extends java.io.File {         File(java.io.File file,String str){        super(file,str);    }