字符流只能操作文本文件,包括纯文本文件:txt,java 、 有样式的文本文件doc,xls。
1.字符输入流
1.1常用方法
int reader();返回值是读到字符的ASCII码
package com.exercise2; import java.io.*; import java.net.HttpRetryException; import java.nio.charset.StandardCharsets; public class outputStreamTest { public static void main(String[] args) { demo1(); } private static void demo1() { try (OutputStream outputStream = new FileOutputStream("D:\\workspace\\one\\LOG4J2TEST\\src\\a.txt", true); Reader reader = new FileReader("D:\\workspace\\one\\LOG4J2TEST\\src\\a.txt")) { String s = "杨征毅"; byte[] bytes = s.getBytes(StandardCharsets.UTF_8); outputStream.write(bytes); System.out.println( reader.read()); } catch (IOException e) { e.printStackTrace(); } } }
返回的是杨的ASCII码26472;
int reader(char[ ] cbuf)返回值是有效字符个数,读取cbuf.length();个字符,存在数组中。
int reader(char[ ] cbuf,int off,int len);
1.2常用子类
FileReader(File file);
FileReader(String Filename);
2.字符输出流
2.1 常用方法
write(int c),参数是ASCII码;
write(char[ ] cbuf)//一次写入一个字符数组
write(String s)一次写入一个字符串
2.2常用子类
FileWriter(File file)
FileWriter(String fileName)
FileWriter(String fileName, boolean append)当append是false时,不会追加的意思是:会覆盖文件中原有的数据。底层代码的逻辑是:当是false时,会删除已有的文件并创建一个同名的空文件。