java 文件复制
package com.qun.io;
import java.io.*;
import java.util.zip.ZipFile;
public class MyIo {
public static void main(String[] args) throws Exception {
FileInputStream inputStream = new FileInputStream(new File("D:\\work\\help.txt"));
FileOutputStream outputStream = new FileOutputStream(new File("D:\\work\\copy.txt"));
streamTest1(inputStream,outputStream);
streamTest2();
byte[] read = read(inputStream);
System.out.println(new String(read));
}
public static void streamTest1(FileInputStream inputStream,FileOutputStream outputStream) throws IOException {
try {
byte[] bytes = new byte[1024];
int read;
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes,0,read);
}
} catch (IOException ioException){
System.out.println(ioException.getMessage());
}finally {
inputStream.close();
outputStream.close();
}
}
public static void streamTest2() throws IOException {
FileReader fileReader = null;
FileWriter fileWriter = null;
try {
fileReader = new FileReader(new File("D:\\work\\help.txt"));
fileWriter = new FileWriter(new File("D:\\work\\copy.txt"));
char[] chars = new char[1024];
int read;
while ((read = fileReader.read(chars)) != -1) {
fileWriter.write(chars,0,read);
}
} catch (IOException e) {
System.out.println(e.getMessage());
} finally {
fileWriter.flush();
fileWriter.close();
fileReader.close();
}
}
public static byte[] read(InputStream input) throws IOException {
try (ByteArrayOutputStream output = new ByteArrayOutputStream()) {
byte[] buffer = new byte[1024];
int read;
while ((read = input.read(buffer)) != -1) {
output.write(buffer, 0, read);
}
return output.toByteArray();
} finally {
input.close();
}
}
}