注意:
- 如果文件存在则在原来文件上操作
- 如果文件不存在则创建文件并且操作。
使用FileWriter输出流:
①在try-catch-finally外面创建一个相应的流变量赋值null,因为关闭流的操作要在finally中,进行,如果将这个变量写在try-catch中,那么finally中将超出该变量的作用域
②实例化File类的对象
③流的实例化 。 new 类名(通过1中的变量,false),true表示追加;默认为false表示覆盖
④数据对的写出,可以传递字符串、数组、基本数据类型
⑤通过close()关闭流。注意:要判断2中的实例化是否成功,此时还会抛出异常,所以还要用一个try-catch来处理异常
代码举例:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterTest {
public static void main(String[] args) {
FileWriterTest fw = new FileWriterTest();
fw.test();
System.out.println("ok");
}
public void test() {
//1.在try-catch外面创建一个相应的流变量
FileWriter fw = null;
try {
//2.实例化File对象
File file = new File("src\\I_O流\\hello2.txt");
//eclipse中写相对路径时,初始路径时相对于 工程 下的,即与bin同级,但是我们的文件时建在 包 下的,
//所以使用相对路径时,要在包名前面加上bin\\才能定位到包下的文件或目录
//3.流的实例化
fw = new FileWriter(file,true);//加true表示追加;默认为false表示覆盖
//4.数据对的写入
fw.write("I am a Student\n"); //可以传递字符串,数组
fw.write("I am a good boy\n");
fw.write(11);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(fw != null)
fw.close(); //5关闭流
} catch (IOException e) {
e.printStackTrace();
}
}
}
}