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

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功能刚好相反。

你可能感兴趣的:(java io 较为容易出错的部分 --读取文件不完全)