字符输出流
1.1 字符流输出介绍
1.2 FileWriter的成员
-
构造方法 :
- public FileWriter(File file) : 往指定的File路径中写入数据
- public FileWriter(String fileName) : 往指定的String路径中写入数据
-
成员方法 :
-
void write(int c) 写一个字符 void write(char[] cbuf) 写入一个字符数组 void write(char[] cbuf, int off, int len) 写入字符数组的一部分 void write(String str) 写一个字符串 void write(String str, int off, int len) 写一个字符串的一部分 -
flush() 刷新流,还可以继续写数据 close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据
-
1.3 FileWriter写数据的步骤
-
1 创建字符输出流对象
- 注意事项:
如果文件不存在,就创建。但是要保证父级路径存在。
如果文件存在就清空
- 注意事项:
-
2 写数据
- 注意事项:
写出int类型的整数,实际写出的是整数在码表上对应的字母。
写出字符串数据,是把字符串本身原样写出。
- 注意事项:
-
3 释放资源
- 注意事项:
每次使用完流必须要释放资源。
- 注意事项:
public class FileWriterDemo1 {public static void main(String[] args) throws IOException {// 创建字符输出流对象// 如果文件不存在会创建一个空的文件// 如果文件存在 , 会把文件中的内容清空FileWriter fw=new FileWriter("filewriter.txt");//写数据fw.write('a');fw.write('b');//刷新流,把流中的数据刷到硬盘中fw.flush();//释放资源fw.close();}
}/*Writer类 : 写入字符流的最顶层的类 , 是一个抽象类 ,不能实例化需要使用其子类FileWriter类FileWriter类 : 用来写入字符文件的便捷类构造方法 :public FileWriter(File file) : 往指定的File路径中写入数据public FileWriter(String fileName) : 往指定的String路径中写入数据成员方法void write(int c) 写一个字符void write(char[] cbuf) 写入一个字符数组void write(char[] cbuf, int off, int len) 写入字符数组的一部分void write(String str) 写一个字符串void write(String str, int off, int len) 写一个字符串的一部分flush() 刷新流,还可以继续写数据close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据*/
public class FileWriterDemo2 {public static void main(String[] args) throws IOException {// 创建字符输出流对象FileWriter fw = new FileWriter("writer2.txt");//写数据//void write(int c) 写一个字符//fw.write("你好");//void write(char[] cbuf) 写入一个字符数组char[] chs = {'a', 'b', 'c', 'd', 'e'};//fw.write(chs);//void write(char[] cbuf, int off, int len) 写入字符数组的一部分//fw.write(chs,2,3);//void write(String str) 写一个字符串//fw.write("hello,world");//void write(String str, int off, int len) 写一个字符串的一部分fw.write("World",2,3);//释放资源fw.close();}
}
1.4 FileWriter练习
public class FileWriteDemo3 {public static void main(String[] args) throws IOException {Scanner sc =new Scanner(System.in);System.out.println("请输入用户名:");String username=sc.nextLine();System.out.println("请输入密码");String password=sc.nextLine();//创建字符输出对象FileWriter fw=new FileWriter("user.txt");//往文件中写入用户名和密码fw.write(username);fw.write("\r\n");fw.write(password);fw.flush();fw.close();}
}