IO-----字符流
一,字符流写数据
1.步骤:
- 创建字符输出流对象
- 写数据
- 释放资源
注意事项:每次使用完必须收放资源,如果文件不存在就创建,但要保证父路径存在,如果文件年存在就清空,写int类型整数实际写出的是对应码表上的字母,写字符串数据,是字符串本身原样输出。
二,flush和close方法
| 方法 | 说明 |
| flush() | 刷新流还可以继续写数据 |
| close() | 关闭流释放资源,但是在关闭之前会刷新流,一旦关闭就不能再写数据 |
三,练习
package com.guancun.fileoutputstream.charstream; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class CharStreamPractice { public static void main(String[] args) throws IOException { //将账号密码写入指定的文件中 Scanner scanner = new Scanner(System.in); System.out.println("请输入账号:"); String name = scanner.next(); StringBuilder stringBuilder = new StringBuilder("账号:"); stringBuilder.append(name).append("\r\n"); System.out.println("请输入密码:"); String pw = scanner.next(); stringBuilder.append("密码:"+pw); FileWriter fileWriter = new FileWriter("a.txt"); fileWriter.write(stringBuilder.toString()); fileWriter.close(); } }
四,字符缓冲流
Bufferedwriter:可以将数据高效写出
BufferedReader:可以将数据高效的读取到内存
构造方法:
Bufferedwriter(writer out)
BufferedReader(writer in)
BufferedReader
package com.guancun.fileoutputstream.bufferedreader; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; //bufferReader特有方法readLine();一次读一整行 public class Readerdemoe2 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new FileReader("a.txt")); String line; while ((line=bufferedReader.readLine())!=null){ System.out.println(line); } bufferedReader.close(); } }
Bufferedwriter
package com.guancun.fileoutputstream.bufferedreader; import java.io.*; //bufferwriter特有方法newLine();换行 public class Writerdemoe1 { public static void main(String[] args) throws IOException { BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("a.txt")); bufferedWriter.write("我在你"); bufferedWriter.newLine(); bufferedWriter.write("离开的时候成长了"); bufferedWriter.close(); } }
五,字符缓冲流特有功能
BufferedWriter: void newLine() :写一行行分隔符,行分隔符字符串由系统属性定义
BufferedReader: readLine :读一行文字,结果包含行的内容的字符串,不包括任何行终止字符,如果结尾已经到达,则为NULL.

浙公网安备 33010602011771号