字符输出流
package cn.bufanli.iodemo;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/**
* @author BuShuangLi
* @date 2018/12/26
* 字符输出流
* java.io.Writer 所有字符输出流的超类,抽象类
* 写文件,写文本文件
* 写的方法 writer
* writer(int c) 写一个字符
* writer(cahr [] cahr) 写一个字符数组
* writer(cahr [] cahr,int off,int len) 写一部分字符数组
* writer(String str,int off,int len) 写入字符串
* writer类的子类对象
* 构造方法接受File 对象和String类型对象
* FileWriter fileWriter = newFileWriter();
* 字符输出流写数据进行一下个功能是,时需要刷新字符缓冲 flush();
*/
public class WriterDemo {
public static void main(String[] args) throws IOException {
FileWriter fileWriter = new FileWriter("f:\\a.java");
//写一个字符
fileWriter.write(100);
//每一次运行在执行下一个功能前要刷新一下,也可以不刷新,但是浪费资源
fileWriter.flush();
//写一个字符的数组
char [] c= {'a','b','c'};
fileWriter.write(c);
fileWriter.flush();
//写入一部分
fileWriter.write(c,0,2);
fileWriter.flush();
//写入字符串 + 换行
fileWriter.write("\n\rhellow哈哈");
fileWriter.flush();
fileWriter.close();
}
}
字符输入流
package cn.bufanli.iodemo;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* @author BuShuangLi
* @date 2018/12/26
* java.io.Reader; 所有字符输入流的超类 , 超类
* 专门读取文本文件
* 读取方法 read()
* int read()读取一个字符
* int read(char [] char) 读取一个字符数组
* java.io.FileReader; 子类
* FileReader(File file 或者 String FilePathName)
*/
public class ReaderDemo {
public static void main(String[] args) throws IOException {
FileReader fileReader1 = new FileReader("f:\\a.java");
// 读取一个字符
int read = fileReader1.read();
System.out.println("读一个字符:"+(char)read);
// 读取一个字符数组
char[] chars = new char[12];
int read1 = fileReader1.read(chars);
for (char aChar : chars) {
System.out.println("数组读:"+aChar);
}
//循环读
int len =0;
while((len=fileReader1.read(chars))!=-1){
System.out.println("循环读:"+new String(chars,0,len));
}
fileReader1.close();
}
}