Java IO 学习总结

Java IO (java.io package) 学习总结

Java IO API

  • Java IO API的设计目的: 解决java程序的输入输出问题.
  • Java IO API的范围: 主要解决文件IO,网络IO,内存缓冲IO等等.
  • Java IO 的优点: 设计优雅,高度封装,使用便捷.
  • Java IO的缺点: 阻塞式的,性能一般

Java IO API的类关系图

java IO API类关系图
(图片来源于网络)

如何选用合适的类完成需求

类别字节相关字符相关
普适InputStream,OutputStreamReader,Writer,InputStreamReader,OutputStreamWriter
数组ByteArrayInputStream,ByteArrayOutputStreamCharArrayReader,CharArrayWriter
文件FileInputStream,FileOutputStream,RandomAccessFileFileReader,FileWriter
管道PipedInputStream,PipedOutputStreamPipedReader,PipedWriter
带缓冲BuffedInputStream,BuffedOutputStreamBuffedReader,BuffedWriter
FilteringFilterInputStream,FilterOutputStreamFilterReader,FilterWriter
ParsingPushbackInputStream,StreamTokenizerPushbackReader,LinenumberReader
字符串StringReader,StringWriter
DataDataInputStream,DataOutputStream
格式化数据输出PrintStreamPrintWriter
ObjectObjectInputStream,ObjectOutputStream
?SequenceInputStream

(感谢jenkov大佬的整理

Java IO API的使用

得益于api优雅的设计,Java IO API使用十分简单便捷.几乎都一个模式…

//比如说读取一个文件
FileInputStream fileInputStream = new FileInputStream("c:\\data\\input-text.txt");

int data = fileInputStream.read();
while(data != -1) {
  data = fileInputStream.read();
}
fileInputStream.close();

//如果加上异常处理   Plus:使用了jdk7的try-with-resources特性
try( FileInputStream fileInputStream = new FileInputStream("file.txt") ) {

    int data = fileInputStream.read();
    while(data != -1){
        data = fileInputStream.read();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值