Java(io/nio)积累
不断完善的少年
干什么都需要不断完善。
馒头比外卖更努力。
展开
-
IO(过滤器流)
在基本的输入和输出流中,我们都是和字节打交道,但是在java类库中有些我们常用的格式来应付我们日常的工作,对于我这样的少年来说,都学不完啊,例如FTP传输文件的格式为zip格式。 过滤器流有两个版本:过滤器流(处理字节,例如压缩和缓冲这些)和阅读/书写器(主要是使用编码格式处理文本)。这里我重点复习过滤器流。 方法:每个过滤器输出流都和OutputStream相同的write(),close(原创 2015-12-17 21:44:37 · 1295 阅读 · 0 评论 -
NIO(一)基础理解
NIO(非阻塞IO),我们的网络数据是通过网络进行交流,但是相比于CPU和磁盘,网络实在是慢得多,为了更好的性能IO中有缓冲和多线程(一次处理多的缓冲比多次处理少的无缓冲更好),一个连接对应一个缓冲对应一个线程,如图: ,但是这个有一些缺点,就是线程的切换创建这些开销,实际情况中有些连接连接上后其实并不需要请求数据,这个时候NIO有更好的性能,也就是把上图的线程减少到一个,有准备好的连接就让线程原创 2016-01-11 10:14:11 · 351 阅读 · 0 评论 -
IO(输出流)
读取网络和读取磁盘没有什么区别,大部分都是字节的接收接收发送。 输出流基本类:OutputStream 常用方法:write(int b),write(byte[] data),write(byte[] data,int offset,int length),flush(),close() 它的具体子类可向具体子类写入数据,例如FileOutputStream向文件写入数据。 基本方法wr原创 2015-12-14 23:44:21 · 443 阅读 · 0 评论 -
IO(输入流)
基本输入类:public abstract class InuputStream. 常用方法abstract int read(),int read(byte[] input),int read(byte[] input, int offet,int length),close(). 子类都是把具体的数据读取为字节。 例如:File file = new File("save.txt");原创 2015-12-16 22:36:25 · 379 阅读 · 0 评论 -
IO(书写器/阅读器)
意义:以前用的都是用ASCII吧字节转换为相应的字符表示在计算机上,但是现在出现了更多种编码方式如utf-8,utf-16等。为了不让字节在不同计算机上显示一样的内容,java有了书写器/阅读器,而它们处理字符而不是字节,在流链上,他应该在靠近用户的一层,甚至在最顶层,可以在IO(过滤器流)中看到例图。 基本API:java.io.Reader java.io.Writer同基本流一样,他们原创 2015-12-20 15:42:16 · 484 阅读 · 0 评论 -
Socket使用BufferedReader和BufferedWriter读不到数据的问题
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 在writer.flus原创 2016-05-30 09:23:15 · 2969 阅读 · 1 评论