1,任何类型文件都可以读
2,用字节方式读取
3,没有读到就返回-1
FileInputStream pic=null;
try {
pic=new FileInputStream("C:\\Users\\Administrator\\Pictures\\Camera Roll\\1.txt");
byte[] data=new byte[200];
int readCount;
//data传入read,每次读出的数据放在data里面,readCount就是读到了几个数
//如果data只有2,而文件里内容更多,每次data读满了就重新开始读,覆盖前面的数
while ((readCount=pic.read(data))!=-1) {
System.out.println(new String(data,0,readCount));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
e.getMessage();
}//必须关闭
finally {
if (pic!=null) {
try {
pic.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其他方法:
1,available().返回流当中剩余的字节数量(未被read()读到)。可以在读过之后直接创建一个剩余字节数量大小的数组读完剩下的。
byte[] data=new byte[2];
fl.read(data);
int readleft=fl.available();
byte[] leftData=new byte[readleft];
fl.read(leftData);
System.out.println(new String(leftData,0,readleft));
// 异常已经抛出
2,skip()。跳过几个字节不读。