(FileInputStream 和 FileOutputStream)利用 FileInputStream 和 FileOutputStream,完成
下面的要求:
1) 用 FileOutputStream 在当前目录下创建一个文件“test.txt”,并向文件输出“Hello
World”,如果文件已存在,则在原有文件内容后面追加。
2) 用 FileInputStream 读入 test.txt 文件,并在控制台上打印出 test.txt 中的内容。
3) 要求用 try-catch-finally 处理异常,并且关闭流应放在 finally 块中
package com.dhy.test;
import java.io.*;
public class test {
public static void sop(Object o) {
System.out.println(o);
}
static void write(FileOutputStream fos, String s) {
byte arr[] = s.getBytes();
try {
fos.write(arr);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
// 用FileInputStream 读入test.txt 文件,并在控制台上打印出test.txt 中的内容。
static void read(FileInputStream fis) {
int len = 0;
try {
byte b[] = new byte[fis.available()];
while ((len = fis.read(b)) != -1) {
sop(new String(b)); // 将数组转为字符串输出
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
public static void main(String args[]) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File("test.txt"), true);// 如文件已存在
// 则在文件内容后追加
fis = new FileInputStream("test.txt");
} catch (IOException e) {
e.printStackTrace();
}
write(fos, "Hello World");
read(fis);
}
}