java IO各种类介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ld705454682/article/details/78480386


 javaIo网络:当两个进程之间建立了网络连接之后,他们通信的方式如同操作文件一样:利用InputStream读取数据,利用OutputStream写入数据。换句话来说,Java网络API用来在不同进程之间建立网络连接,而Java IO则用来在建立了连接之后的进                       程之间交换数据。

File 获取文件和目录的信息。

InputStream/OutputStream 各种流的始祖,开发用它

 FileInputStream/FileOutputStream 字节流

FileReader/FileWriter 字符流

 PipedInputStream/PipedOutputStream 线程间通信,传递字节数据而非完整的对象信息。适合用这个。

 RandomAccessFile 流只能按顺序地读写,要跳跃式地读写文件某部分用RandomAccessFile。可以覆盖一个文件的某些部分、或者追加内容到它的末尾、或者删除它的某些内容,当然它也可以从文件的任何位置开始读取文件。

ByteArrayInputStream/CharInputReader 用ByteArrayInputStream或者CharArrayReader封装字节或者字符数组从数组中读取数据。通过这种方式字节和字符就可以以数组的形式读出了。

01 byte[] bytes = new byte[1024];
02  
03  
04  
05 //把数据写入字节数组...
06  
07  
08  
09 InputStream input = new ByteArrayInputStream(bytes);
10  
11  
12  
13 //读取第一个字节
14  
15 int data = input.read();
16  
17 while(data != -1) {
18  
19 //操作数据
20  
21  
22  
23 //读下一个字节
24  
25 data = input.read();
26  
27 }

ByteArrayOutputStream/CharOutputWriter 

1 OutputStream output = new ByteArrayOutputStream();
2  
3  
4  
5 output.write("This text is converted to bytes".toBytes("UTF-8"));
6  
7  
8  
9
byte [] bytes = output.toByteArray();

BufferedInputStream/BufferedOutputStream 可以从磁盘中一次读取一大块数据,然后从读到的数据块中获取字节。

DataInputStream/DataOutputStream 普通类只能读写基本类型(字节或字符),可以读int,double等




猜你喜欢

转载自blog.csdn.net/ld705454682/article/details/78480386