Java字节流复制文件

时间:2021-08-14 16:16:38

1、使用带缓冲功能的字节流复制文件

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferByteStreamCopy {

public static void main(String[] args) {

BufferedInputStream bufis = null;
BufferedOutputStream bufos = null;

try {
bufis = new BufferedInputStream(new FileInputStream("C:\\1.txt"));
bufos = new BufferedOutputStream(new FileOutputStream("D:\\1.txt"));

int b = 0;
while ((b = bufis.read()) != -1) {
bufos.write(b);
}


} catch (IOException e) {
throw new RuntimeException("拷贝失败");
} finally {
try {
if (bufis != null)
bufis.close();
} catch (IOException e) {
throw new RuntimeException("读取关闭失败");
}
try {
if (bufos != null)
bufos.close();
} catch (IOException e) {
throw new RuntimeException("写入关闭失败");
}
}
}

}

2、使用不带缓冲功能的字节流复制文件

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class NoBufferByteStreamCopy {

public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;

try {
fis = new FileInputStream("C:\\1.txt");
fos = new FileOutputStream("D:\\1.txt");

byte[] buf = new byte[1024];
int len = 0;
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}

} catch (IOException e) {
throw new RuntimeException("拷贝失败");
} finally {
try {
if (fis != null)
fis.close();
} catch (IOException e) {
throw new RuntimeException("读取关闭失败");
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
throw new RuntimeException("写入关闭失败");
}
}
}

}