skyyoung(路人甲) : 在哪里,贴子名是什么???
解决方案 »
- java 字符串数组比较 运行时报错,百思不得其解,nb的人来帮帮吧,谢谢了~~~!!!(第一次在csdn提问,别让我失望哦)
- 帮我看一下这些代码
- 最大化后,为什么组件没有跟着变大?
- 菜鸟做作业,抓紧时间做完想玩会CS,各位帮忙解决问题
- Java能不能做成这样呢?谢谢大家,都很多天了?
- jdbc连接oracle数据库时出现错误,哪位高手可以帮小弟一把!!!十分感谢!!!
- java中如何调用oracle中的函数(不是存储过程)
- 急!请教高手!如何给一个button设置热键
- 请教广州的朋友,广州哪个书店卖英文计算机书(特别是java)比较齐全?初来广州,不熟悉,谢谢!
- "java程序员"占几字节
- 有关数据库连接池的问题
- 怎样在VC里调试JNI?
System.out.println(
"Writing file " + args[i]);
BufferedReader in =
new BufferedReader(
new FileReader(args[i]));//注意这里。你把你所需要的流替换掉这里的FileReader不就可以了嘛!
out.putNextEntry(new ZipEntry(args[i]));
int c;
while((c = in.read()) != -1)
out.write(c);
in.close();
}
能再详细指点一下吗??譬如我想压缩一个.exe文件,用什么流??
我觉得应该就是这个FileReader,还有其他的吗??多谢你!!
//
//
//
//---------------------------------------------------
import java.util.*;
import java.io.*;
import java.util.zip.*;
class zip{
public static void main(String[] args)
{
/* String dir="";
public void setDir(String dir)
{
this.dir=dir;
}*/
zip.zipFile("cuteftppro.exe");
//zip.zipFile("zip");
}
public static void zipFile(String dir)
{
String name="";
/* String dir = "";
if(args.length<1)
{
System.out.println("\t\t请选择你要压缩的文件夹名称或文件名称!");
return;
}
else
{
dir = args[0];
}
*/
File f = new File(dir);
System.out.println(f.getAbsolutePath());
if(!f.exists())
{
System.out.println("\t\t 所选文件夹或文件名并不存在!");
return ;
}
if (!f.isDirectory())
{
try
{
name=f.getName();
name=name.substring(0,name.indexOf('.'))+".zip";
FileOutputStream ff = new FileOutputStream(name);
ZipOutputStream out = new ZipOutputStream(new DataOutputStream(ff));
//for(int i = 0; i < args.length; i++)
//{
DataInputStream in = new DataInputStream(new FileInputStream(dir));
//out.putNextEntry(new ZipEntry(args[i]));
out.putNextEntry(new ZipEntry(dir));
int c;
while((c = in.read()) != -1)
out.write(c);
in.close();
//}
out.close();
}
catch(Exception e)
{
System.out.println(" 文件压缩抛出异常!");
}
}
else
{
try
{
name=f.getName()+".zip";
FileOutputStream ff = new FileOutputStream(name);
ZipOutputStream out = new ZipOutputStream(new DataOutputStream(ff));
zip.listFiles(f,out);
out.close();
out=null;
}
catch(Exception e)
{
System.out.println(" 文件压缩抛出异常!");
}
} }
public static void listFiles(File path,ZipOutputStream out )
{
File[] files;
files = path.listFiles();
try{
//FileOutputStream ff = new FileOutputStream("d:\\java\\zip.zip");
//ZipOutputStream out = new ZipOutputStream(new DataOutputStream(ff));
for(int i = 0;i<files.length;i++)
{
if(files[i].isFile())
{
String fff=path+"\\"+files[i].getName();
System.out.println(fff);
DataInputStream in = new DataInputStream(new FileInputStream(fff));
out.putNextEntry(new ZipEntry(fff));
int c;
while((c = in.read()) != -1)
out.write(c);
in.close();
}
if(files[i].isDirectory())
zip.listFiles(files[i],out);
}
//out.close();
}
catch(Exception e)
{
System.out.println(" 文件压缩抛出异常!");
}
}
}
这个什么文件和文件夹都可以压缩。