用FileInputStream去读文件的时候,设置一个缓冲数组。代码如下:
File f=new File("E:\\java资料\\命名标准.docx");
FileInputStream fip=null;
try {
fip=new FileInputStream(f);
byte []bytes=new byte[1024];
int n=0;
//循环读取
while((n=fip.read(bytes))!=-1)
{
String s=new String(bytes, 0, n);
System.out.println(s);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
fip.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
小弟的问题是:
fip.read函数是每读完1024个字节就会自动转向随后的1024个字节吗?
File f=new File("E:\\java资料\\命名标准.docx");
FileInputStream fip=null;
try {
fip=new FileInputStream(f);
byte []bytes=new byte[1024];
int n=0;
//循环读取
while((n=fip.read(bytes))!=-1)
{
String s=new String(bytes, 0, n);
System.out.println(s);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
fip.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
小弟的问题是:
fip.read函数是每读完1024个字节就会自动转向随后的1024个字节吗?
这是我的理解
这一句,每次从数据源中读1024字节,放到数组bytes中,并返回实际读取的字节数。
如果读不到数据(到达数据源末尾),则返回-1
因为在while循环中,所以可以循环读取