字符输出流
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();
}
}