您的位置:首页 > 编程语言 > Java开发

Java IO 学习总结

2019-02-26 20:58 267 查看

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的类关系图


(图片来源于网络)

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

类别 字节相关 字符相关
普适 InputStream,OutputStream Reader,Writer,InputStreamReader,OutputStreamWriter
数组 ByteArrayInputStream,ByteArrayOutputStream CharArrayReader,CharArrayWriter
文件 FileInputStream,FileOutputStream,RandomAccessFile FileReader,FileWriter
管道 PipedInputStream,PipedOutputStream PipedReader,PipedWriter
带缓冲 BuffedInputStream,BuffedOutputStream BuffedReader,BuffedWriter
Filtering FilterInputStream,FilterOutputStream FilterReader,FilterWriter
Parsing PushbackInputStream,StreamTokenizer PushbackReader,LinenumberReader
字符串 StringReader,StringWriter
Data DataInputStream,DataOutputStream
格式化数据输出 PrintStream PrintWriter
Object ObjectInputStream,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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: