Java中的I/O操作(一)

本文总结了Java中常用的IO流操作,包括FileInputStream、FileOutputStream、BufferedReader等的使用方法,并解释了字节流与字符流的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

              个人认为,java中的流比较多,也很难记,所以,现在,把自己用到过的流总结一下,便于记忆。

FileOutputStream
说明:主要用来写文件
1、    File file = new File("test.txt");
FileOutputStream fos = new FileOutputStream(file);
2、    FileOutputStream fos = new FileOutputStream("test.txt");
FileInputStream
说明:读取文件
1、    FileInputStream fis = new FileInputStream("test.txt");
2、    File file = new File("test.txt");
FiltInputStream fis = new FileInputStream(file);
注:来源于TFTPDemo

Reader
1、    File file = new File("test.txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
char[] temp=new char[64];
int num=0;
while((num=reader.read(temp)!=-1){
//do sth.
}
File file = new File("test.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String temp=null;
while((temp=reader.readLine())!=null){
//do sth.
}
reader.close();
3、 BufferedReader in
   = new BufferedReader(new InputStreamReader(System.in));
注:Reader的子类:BufferedReader, InputStreamReader
InputStreamReader的子类:FileReader
BufferedReader的子类:LineNumberReader
Writer
1、PrintWriter out
   = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));

注:Writer的子类:BufferedWriter, OutputStreamWriter
OutputStreamWriter的子类:FileWriter
BufferedWriter的子类:没有

按行读的有,返回的都是String:
java.io.BufferedReader.readLine()
java.io.DataInput.readLine()
java.io.DataInputStream.readLine()
java.io.LineNumberReader.readLine()
java.io.ObjectInputStream.readLine()
java.io.RandomAccessFile.readLine()
javax.imageio.stream.ImageInputStream.readLine()
javax.imageio.stream.ImageInputStreamImpl.readLine()  

规律:
在java中关于Stream的类都是读写字节(byte)的,比如InputStream/OutputStream及其子类
关于Reader/Writer的类都是读写字符(Character)的,比如Reader/Writer及其子类。

InputStreamReader
An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值