Java IO流(四)

2014-11-24 10:14:25 · 作者: · 浏览: 4
File.separator + "hello2.txt");
File file3 = new File("d:" + File.separator + "hello.txt");
try {
InputStream input1 = new FileInputStream(file1);
InputStream input2 = new FileInputStream(file2);
OutputStream output = new FileOutputStream(file3);
// 合并流
SequenceInputStream sis = new SequenceInputStream(input1, input2);
int temp = 0;
while ((temp = sis.read()) != -1) {
output.write(temp);
}
input1.close();
input2.close();
output.close();
sis.close();
} catch (Exception e) {
}
}

18 ZipOutputStream






 //单个文件压缩 ZipOutputStream类 

public static void ZipOutputStreamDemo(){

File file = new File(filepath);
File zipFile = new File(zipfilepath);
try {
InputStream input = new FileInputStream(file);
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(
zipFile));
zipOut.putNextEntry(new ZipEntry(file.getName()));
// 设置注释
zipOut.setComment("hello");
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
zipOut.close();
} catch (Exception e) {
}
}


19 多个文件压缩



  // 多个文件压缩 
public static void ZipOutputStreamDemo2(){

// 要被压缩的文件夹
File file = new File(zipfolderpath);
File zipFile = new File("c:" + File.separator + "zipFile.zip");
InputStream input = null;
try {
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(
zipFile));
zipOut.setComment("hello");
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; ++i) {
input = new FileInputStream(files[i]);
zipOut.putNextEntry(new ZipEntry(file.getName()
+ File.separator + files[i].getName()));
int temp = 0;
while ((temp = input.read()) != -1) {
zipOut.write(temp);
}
input.close();
}
}
zipOut.close();
} catch (Exception e) {
}
}


20 单个文件解压



 // 单个文件解压 
public static void ZipFileDemo(){

File file = new File("d:" + File.separator + "hello.zip");
File outFile = new File("d:" + File.separator + "unZipFile.txt");
try {
ZipFile zipFile = new ZipFile(file);
ZipEntry entry = zipFile.getEntry("hello.txt");
InputStream input = zipFile.getInputStream(entry);
OutputStream output = new FileOutputStream(outFile);
int temp = 0;
while ((temp = input.read()) != -1) {
output.write(temp);
}
input.close();
output.close();
} catch (Exception e) {
}
}


21.多个文件解压






 
 // 多个文件解压,当我们需要解压缩多个文件的时候,ZipEntry就无法使用了, 
//如果想操作更加复杂的压缩文件,我们就必须使用ZipInputStream类
public static void ZipFileDemo2