1、(FileInputStream 和FileOutputStream)利用FileInputStream 和FileOutputStream,完成下面的要求:
1) 用FileOutputStream 在当前目录下创建一个文test.txt,并向文件输出HelloWorld,如果文件已存在,则在原有文件内容后面追加。
2) 用FileInputStream 读入test.txt 文件,并在控制台上打印出test.txt 中的内容。
3) 要求用try-catch-finally 处理异常,并且关闭流应放在finally 块中。
package Ch03Homework;
import java.io.*;
public class ByteStreamHomeWork {
public static void main(String[] args) {
// TODO Auto-generated method stub
//初始化字节流
FileInputStream fis = null;
BufferedInputStream bis = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
//获得当前目录
File f1 = new File(File.separator);
String path = "test.txt";
File f2 = new File(f1,path);
try {
// 用FileOutputStream在当前目录创建一个文test.txt
fos = new FileOutputStream(f2,true);
bos = new BufferedOutputStream(fos);
//并向文件输出HelloWorld
String str = "HolleWorld\n";
byte []b1 = str.getBytes();
bos.write(b1);
bos.flush();
//用FileInputStream 读入test.txt 文件
fis = new FileInputStream(f2);
bis = new BufferedInputStream(fis);
//并在控制台上打印出test.txt 中的内容。
int len;
byte[] b2 = new byte[1024];
while((len = bis.read(b2,0,1024)) != -1) {
System.out.println(new String(b2,0,len));
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
// 要求用try-catch-finally 处理异常,并且关闭流应放在finally 块中。
try {
if(bis != null)bis.close();
if(bos != null)bos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}