InputStreamReader读数据
█ InputStreamReader读数据方法
☞public int read(); //读取单个字符。
☞public int read(char[] cbuf); //将字符读入数组。
☞public int read(char[] cbuf,int off ,int len); //将字符读入数组中的某一部分。
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("1.txt");
InputStreamReader isr = new InputStreamReader(fis); //没有写明编码格式,默认系统编码(utf-8);
//方法一:
/* int ch;
// while ((ch = (char) isr.read()) != -1) { //这里不能在这里强行转换成 char ,转换成 char 就永远不会等于 -1
while ((ch = isr.read()) != -1) {
System.out.print((char) ch);
} */
//方法二:
/* char[] charray = new char[10];
int leng = isr.read(charray);
System.out.println(charray);*/
|
//方法三:
/* char[] charray2 = new char[10];
int leng2 = isr.read(charray2, 0,charray2.length);
System.out.println(charray2);*/
char[] charray2 = new char[10];
int leng;
while( ( leng = isr.read(charray2,0,charray2.length ) ) != -1 ){
//System.out.print(charray2); //这里不能直接输出数组,因为不能最后一才读进数组长度个数据,会导致输出的部分是上次读到数组里的
String charray2Str = new String(charray2,0,leng);
System.out.print(charray2Str);
}
fis.close();
isr.close();
}
}
|