java io 较为容易出错的部分 --读取文件不完全

来源:互联网 发布:判断是否为整数 C语言 编辑:程序博客网 时间:2024/05/16 17:51
HttpURLConnection conn =getConnection(url);//创建连接对象
           InputStream is = conn.getInputStream();//执行url响应
           BufferedReader br = new BufferedReader(new InputStreamReader(
is));
           String line = null;
           StringBuffer content = new StringBuffer();
           for (line = br.readLine(); line != null; line = br.readLine()) {
content.append(line);
}

           System.out.println((content.toString()));




还有一个是用的是read()--》返回的是字节码编号和read(b[])--------------------------------等读取的文件总是缺掉头一个字节。  现在还不知道是为什么。


误区: HttpURLConnection conn =getConnection(url);//创建连接对象
           InputStream is = conn.getInputStream();//执行url响应
           byte[] b = new byte[1024*10];
           int i = 0;
          while((i = is.read(b))!=-1){ //每次读取一部分的字节数在b里面。b作为缓存。
          System.out.write(b, 0, i);
   
          }

java io的装饰器使用规则:在使用javaio创建流的时候老是不记得装饰器的顺序。于是就研究了一下,现在做个记录:

file-->fileInput                        | 和file同等级的是inputStream---->inputStreamReader           |            和file同等级的  String  ------>StringReader

    --->fileReader                    |                                                   ----->BufferedInputStream         |

|                                                   --->ObjectInputStream                 |

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

注意:所有的reader都可以被装饰为BufferedReader----------BufferedReader 是唯一支持readLine的装饰流

-----------------------------------------------------------------------------------------------------------------------------------------------------

File-------------------->printStream    

outPUtStream ------------>printStream             执行打印的操作

outputStream 和intputStream功能刚好相反。

原创粉丝点击