「java文件读取结束」Java 读取文件内容
今天给各位分享java文件读取结束的知识,其中也会对Java 读取文件内容进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA中如何判断已经读取到文件的末尾?
- 2、java中文件读取结束的条件为甚是-1
- 3、java中输入多组数据直至文件结尾怎么写?
- 4、在Java中的io流中,read读取文件时,读取完了没有了返回-1,(为什么不是0啊?没有了就是0啊?)
- 5、java从文件结尾读取数据
- 6、java读文件的流 读完为什么以int型的-1作为结束的标志
JAVA中如何判断已经读取到文件的末尾?
当读到文件末尾时将返回-1,例如:
FileInputStream in=new FileInputStream(new File("文件的路径和名称"));
int c=0;
if((c=in.read())==-1){
System.out.println("文件已经读完");
}
java中文件读取结束的条件为甚是-1
EOF = End Of File,其默认值就是(-1),而并非写代码的人可以任意设定的。
java中输入多组数据直至文件结尾怎么写?
看你怎么读了 如果按字节读取的话就是
直接从输入流中读单字节的话 通过读取的字节是否大于-1 如果读取的字节为-1说明到文件结尾
用字节数组从流中都数据的话判断读取的长度 如果读取长度小于数组长度 则到文件结尾
用BufferedReader 按行读取的话 判断读取的行是不是null就行 收到null则文件结束。
在Java中的io流中,read读取文件时,读取完了没有了返回-1,(为什么不是0啊?没有了就是0啊?)
返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值
java从文件结尾读取数据
可以参照下面的两个例子
**
* 随机读取文件内容
* @param fileName 文件名
*/
public static void readFileByRandomAccess(String fileName){
RandomAccessFile randomFile = null;
try {
System.out.println("随机读取一段文件内容:");
// 打开一个随机访问文件流,按只读方式
randomFile = new RandomAccessFile(fileName, "r");
// 文件长度,字节数
long fileLength = randomFile.length();
// 读文件的起始位置
int beginIndex = (fileLength 4) ? 4 : 0;
//将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[] bytes = new byte[10];
int byteread = 0;
//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
//将一次读取的字节数赋给byteread
while ((byteread = randomFile.read(bytes)) != -1){
System.out.write(bytes, 0, byteread);
}
} catch (IOException e){
e.printStackTrace();
} finally {
if (randomFile != null){
try {
randomFile.close();
} catch (IOException e1) {
}
}
}
}
/**
* 显示输入流中还剩的字节数
* @param in
*/
private static void showAvailableBytes(InputStream in){
try {
System.out.println("当前字节输入流中的字节数为:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
java读文件的流 读完为什么以int型的-1作为结束的标志
以上朋友说的有的有偏差,有的不是很切题,我来告诉lz正解吧
lz迷惑的其实是个文件结束的标志问题,这个标志叫做EOF = End Of File,其默认值就是(-1),而并非写代码的人可以任意设定的。
这样解释,这段code就很容易理解了。
其实,这里面的-1还是可以改成EOF的,出于code易于理解和健壮性的考虑,还是不要直接出现-1这种硬编码
关于java文件读取结束和Java 读取文件内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-08,除非注明,否则均为
原创文章,转载请注明出处。