java字符流(FileReader/FileWriter)
程序员文章站
2024-03-18 18:58:46
...
编码回顾
- 说到字符流就必须说到字符编码
- 经典的编码ASCII:
- ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。
- 一个英文字符可以用一个字节的空间存储,在将英文字符存储到一个字节的空间中去的时候,需要将字符按照编码以计算机能够识别的方式存储。这个过程就是字符编码。
- Java平台使用Unicode编码约定存储字符值
字符流
使用字符流代替字节流的程序会自动适应本地字符集
案例一:使用字符流读取写入文件
FileReader in;
FileWriter out;
in = new FileReader("C:\\Users\\swx593221\\Desktop\\input.txt");
out = new FileWriter("C:\\Users\\swx593221\\Desktop\\output.txt");
int c;
// 循环读取字节,依次读取一个字节然后放入另外一个文件中
while ((c = in.read()) != -1) {
out.write(c);
}
System.out.println("Success...");
// 关闭字节流
in.close();
out.close();
注意:
- 字节流FileInputStream/FileOutputStream以及字符流FileWriter/FileReader都是使用int变量进行读写
- 在字符流中,int变量的后16位保留字符值; 在字节流中,int变量在其最后8位中保留一个字节值。(一个int占4个字节)
案例二:字符流读取字符串行
FileReader in;
FileWriter out;
BufferedReader reader;
PrintWriter writer;
in = new FileReader("C:\\Users\\swx593221\\Desktop\\input.txt");
out = new FileWriter("C:\\Users\\swx593221\\Desktop\\output.txt");
reader = new BufferedReader(in);
writer = new PrintWriter(out);
String s;
// 循环读取字节,依次读取一个字节然后放入另外一个文件中
while ((s = reader.readLine()) != null) {
writer.println(s);
}
System.out.println("Success...");
// 关闭字节流
reader.close();
writer.close();
上一篇: hotspot虚拟机 博客分类: java_jvm jvmjava虚拟机hotspot文档
下一篇: Spring Boot(12)——使用MongoDB 博客分类: Spring Boot Spring BootSpringMongoDOMongo使用
推荐阅读
-
java字符流(FileReader/FileWriter)
-
IO之输入字符流FileReader、输出字符FileWriter
-
java字符流的文件写入FileWriter
-
java 文件字符输入流FileReader 字符输出流FileWriter
-
Java字符输入(FileWriter)输出(FIleReader)流
-
字符串与二进制字符流之间相互转换,JAVA
-
java word操作 通过字符串生成word文件,读取word内容,word转pdf、html,pdf流输出展示到页面,file转 MultipartFile
-
java高级输入输出流(5)–文件字符流
-
IO字符流FileWriter示例 博客分类: j2se iowriterjavafilewriterfw
-
文本文件读取 -- 消除样板式代码工具类 博客分类: java BufferedReaderio字符流文本文件读取