复习一下java的IO操作
最简单的东西
但是长时间不写了
容易忘记
封装IO的东西太多了
所以都忘记最基本的IO操作怎么写了
所以要经常复习一下
温故而知新
很有道理
我们做一个简单的复制操作
public static void main(String[] args) throws IOException {
File file1 = new File("f:/test/aaa.avi");
File file2 = new File("f:/bbb.avi");
if (file2.exists()) {
file2.delete();
}
file2.createNewFile();
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(file1));
BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file2));
byte[] arr = new byte[1024];
int realbyte = 0;
while ((realbyte = inputStream.read(arr)) > 0) {
outputStream.write(arr, 0, realbyte);
}
inputStream.close();
outputStream.close();
}
其实这样是有问题的
就是如果中间环节出了问题
没有办法把IO关闭掉
那么我们修改一下代码
public static void main(String[] args) throws IOException {
File file1 = new File("f:/test/aaa.avi");
File file2 = new File("f:/bbb.avi");
if (file2.exists()) {
file2.delete();
}
file2.createNewFile();
BufferedInputStream inputStream = null;
BufferedOutputStream outputStream = null;
try {
inputStream = new BufferedInputStream(new FileInputStream(file1));
outputStream = new BufferedOutputStream(new FileOutputStream(file2));
byte[] arr = new byte[1024];
int realbyte = 0;
while ((realbyte = inputStream.read(arr)) > 0) {
outputStream.write(arr, 0, realbyte);
}
inputStream.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}