导航:首页 > 编程语言 > java上传zip

java上传zip

发布时间:2022-03-08 08:48:40

A. java上传pdf文件,只压缩大小,不改变成.zip/.rar文件

Java上传pdf文件,只压缩大小,不改变成.zip/.rar文件
可以,压缩只是一种算法,什么语言都可以,比如某种格式的文件中1001010(二进制)代表汉子的"中"字,那么压缩算法就是在编码不冲突的情况下可以改变编码长度,比如压缩之后中字变成1010,这样就节省空间了,这是我随便举的例子,具体的对应算法可以网上查

B. java服务器如何对zip文件分包上传

这个你是用什么客户端上传呢?

java写的客户端和H5页面都可以做这个操作,思路都是一样的。

把文件切割再上传,后台接受结束后再把文件合并。

在DB里做个记录就是断点续传了嘛。

给点代码提示:

js:

每次上传2M,必须是支持H5的浏览器才行,兼容的问题需要注意!

functioncalculate(file,callBack){

varfileReader=newFileReader(),
blobSlice=File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice,
chunkSize=2097152,
//readinchunksof2MB
chunks=Math.ceil(file.size/chunkSize),
currentChunk=0,
spark=newSparkMD5();

fileReader.onload=function(e){
spark.appendBinary(e.target.result);//appendbinarystring
currentChunk++;

if(currentChunk<chunks){
loadNext();
}
else{
callBack(spark.end());
}
};

functionloadNext(){
varstart=currentChunk*chunkSize,
end=start+chunkSize>=file.size?file.size:start+chunkSize;

fileReader.readAsBinaryString(blobSlice.call(file,start,end));
};

loadNext();
}

java代码没什么注释,也不是全部的代码看个大概意思,理解一下吧

根据文件的MD5码来判断每次上传的文件是不是上传过的。

如果是就找到上次的点告诉前台从哪开始上传。

Messagemessage=newMessage();
PrintWriterout=response.getWriter();
=newServiceBreakpointUpload();
BreakpointShardshard=newBreakpointShard();

StringcurrentShardIndex="";
StringtotalShard="";
StringfileMD5="";
StringfileName="";
StringfileType="other";
try{
fileMD5=request.getParameter("fileMD5");
Partpart=request.getPart("fileData");
currentShardIndex=request.getParameter("currentShardIndex");
totalShard=request.getParameter("totalShard");
fileName=request.getParameter("fileName");
fileName=newString(fileName.getBytes("iso-8859-1"),"UTF-8");
fileType=request.getParameter("fileType");
StringtypeFolderName=service.getTypeFolder(fileType);
StringfolderPath=getServletContext().getRealPath("/upload/")+typeFolderName+File.separator;
Stringpath=folderPath+fileName+"-"+fileMD5+"-"+currentShardIndex;
System.out.println("fileName:"+fileName);
//是否初次上传
if(!service.isUpload(fileMD5,fileType)){
BreakpointFilebreakpointFile=newBreakpointFile();
breakpointFile.setMd5(fileMD5);
breakpointFile.setFile_name(fileName);
breakpointFile.setTotal_shard(totalShard);
breakpointFile.setCurrent_shard_index(currentShardIndex);
breakpointFile.setFile_type(fileType);
breakpointFile.setPath(folderPath);
service.saveFile(breakpointFile);
}else{//返回上次完成位置
service.updateFile(fileMD5,currentShardIndex,fileType);
System.out.println("uploadshard"+currentShardIndex+"OK");
}
shard.setMd5(fileMD5);
shard.setShard_index(currentShardIndex);
shard.setPath(path);
service.saveShardFile(shard);
part.write(path);
if(currentShardIndex.equals(totalShard)){//上传完成
System.out.println("");
service.mergeFiles(fileMD5,fileType);
System.out.println("mergeshardOK");
message.setData("completed");
}
message.setData(currentShardIndex);
out.println(JSONObject.fromObject(message).toString());
}catch(Exceptione){
e.printStackTrace();
message.setHasError(true);
message.setErrorMessage("错误!");
out.println(JSONObject.fromObject(message).toString());
}
}

C. java如何解压页面上传到服务器的zip文件

这个转换肯定是会出错的,struts 的formFile跟zipFile没有直接关系,怎么能这么强制转化呢?
建议
1. 把文件保存到一个临时目录(保存为zip文件)
2. 读取这个文件
3. 抽取想要的文件
4. 把临时文件删除

D. 怎样用Java将文件追加到zip文件

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipOutputStream;

/**
* @project: Test
* @author chenssy
* @date 2013-7-28
* @Description: 文件压缩工具类
* 将指定文件/文件夹压缩成zip、rar压缩文件
*/
public class CompressedFileUtil {
/**
* 默认构造函数
*/
public CompressedFileUtil(){

E. java将File压缩成zip

ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("d:\\test.zip"));
String test1="test1";
String test2="test2";
byte[] bytes1 = test1.getBytes("UTF-8");
byte[] bytes2 = test2.getBytes("UTF-8");

ZipEntry z1 = new ZipEntry("test1.txt");
zos.putNextEntry(z1);
zos.write(bytes1);
ZipEntry z2 = new ZipEntry("text2.txt");
zos.putNextEntry(z2);
zos.write(bytes2);
zos.closeEntry();
zos.close();

//流可以自己获取

//java默认的包不支持中文(乱码)

//使用apache的ZipOutputStream进行zip压缩
是否可以解决您的问题?

F. java zip怎么上传到sftp上

使用SSH协议进行FTP传输的协议叫SFTP 换言之你的SSH协议一定启用了,那么使用基本linux命令在远端执行即可。 我个人而言,JSCH一般是这样用的:SFTP用于单纯的文件上传,之后直接使用基础ssh协议执行远端linux命令

G. java 如何把一个ZIP的压缩包转换String然后用json报文上传,接收到json报文后再还原这个zip到指定目录

转BASE64吧,这样的数据量略一一些

~~~~~~~~~

H. 如何使用java压缩文件夹成为zip包(最简单的

import java.io.File;

public class ZipCompressorByAnt {

private File zipFile;

/**
* 压缩文件构造函数
* @param pathName 最终压缩生成的压缩文件:目录+压缩文件名.zip
*/
public ZipCompressorByAnt(String finalFile) {
zipFile = new File(finalFile);
}

/**
* 执行压缩操作
* @param srcPathName 需要被压缩的文件/文件夹
*/
public void compressExe(String srcPathName) {
System.out.println("srcPathName="+srcPathName);

File srcdir = new File(srcPathName);
if (!srcdir.exists()){
throw new RuntimeException(srcPathName + "不存在!");
}

Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
//fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹 eg:zip.setIncludes("*.java");
//fileSet.setExcludes(...); //排除哪些文件或文件夹
zip.addFileset(fileSet);
zip.execute();
}

}

public class TestZip {

public static void main(String[] args) {

ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\test1.zip ");
zca.compressExe("E:\test1");
}

}

/*如果 出现ant 的 52 51 50 等版本问题 可以去找对应的ant-1.8.2.jar 我开始用的ant-1.10.1.jar 就是这个包版本高了 一直报verson 52 版本问题*/

I. java程序 压缩指定文件 格式(zip)

直接右键单击文件夹(所有的文件存放在一个文件夹里面)然后选择压缩 前提是你要有 zip压缩程序

阅读全文

与java上传zip相关的资料

热点内容
优信二手车解压后过户 浏览:62
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1003
命令zpa 浏览:286
python编译器小程序 浏览:945
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:593
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:340
程序员项目经理的年终总结范文 浏览:930
内衣的加密设计用来干嘛的 浏览:433
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:401
梦幻端游长安地图互通源码 浏览:746
电脑本地文件如何上传服务器 浏览:314