- 按字节操作
OutputStream
InputStream - 按一般数据操作
DateOutputStream
DateInputStream - 按文件读写
Rader/ Writer
package com.company;
import java.io.*;
import java.util.Scanner;
/**
* @ProjectName FoodMachine
* @ClassName StrStream
* @Description //
* @Email 2992794262@qq.com
* @Author ASUS
* @Date 2021/9/12
**/
public class StrStream {
/*
* @Author Mulan
* @Description //把字符串a写入文档fileName中
* @Date 2021/9/12
* @Param
* @return
**/
public void Writer(String a ,String fileName ){
//声明了一个文本写的流,BufferedWriter用于缓冲
// OutputStreamWriter将二进制Stream流转换成Writer写文本的类,
// FileOutputStream声明了一个写文本的二进制流
PrintWriter out;
try {
out = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
//true表示在文件光标尾部写入字符串
new FileOutputStream(fileName,true)
)));
//写入一个字符串a
out.write(a);
//写入一个换行
out.write("\n");
//关闭流,释放资源
out.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
/*
* @Author Mulan
* @Description //读出fileName文件中的字符串
* @Date 2021/9/12
* @Param
* @return
**/
public void Reader(String fileName ){
//声明了一个读文本的流BufferedReader用于文本缓冲
//InputStreamReader将二进制Stream流转换成Reader读文本的类
//FileInputStream 声明了一个读文本的二进制流
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(
new FileInputStream(fileName )
)) ;
//声明一个字符串用于存放读入的单个字符
String line;
//一行一行的读入文字
while( (line=in.readLine() )!=null){
System.out.println(line);
}
//关闭流释放资源
in.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
测试类
package com.company;
/**
* @ProjectName FoodMachine
* @ClassName Demo005Stream
* @Description //
* @Email 2992794262@qq.com
* @Author ASUS
* @Date 2021/9/12
**/
public class Demo005Stream {
public static void main(String args[]){
StrStream s =new StrStream();
for (int i=0;i<10;i++){
s.Writer("刚写入的字符串","a.txt");
s.Writer("啦啦啦","b.txt");
}
s.Reader("a.txt");
s.Reader("b.txt");
}
}
写的结果
读的结果