java - 谁能解释一下如何用java读取文件。 -1是什么意思?我想读取的文件中没有任何数字..困惑 :(

标签 java file filereader

我在我的java类中遇到了这段代码...但我仍然无法理解这段代码如何读取文件..特别是while循环部分...讲师说如果我们不实现循环..这段代码只读文件的第一个字母......

import java.io.FileReader;

public class NewClass {
    public static void main(String[] args)   {
        try{

            FileReader f1 = new FileReader("E:\\SOFTWARE setups\\Apache\\new.txt");
               while (true) {
                int x = f1.read();
                if (x == -1) {
                    break;
                }
                char y = (char) x;
                System.out.print(y);
            }

最佳答案

来自documentation -

Reads a single character.

Returns the character read, or -1 if the end of the stream has been reached.

所以,是的,您需要一个 for 循环来读取文件的全部内容。您的代码遵循的基本策略是一次读取一个字符,检查它是否为 -1(查看是否已到达文件末尾),如果不是,则将其打印在控制台上。

如果您不想编写这样的循环并读取整个内容,那么您可以使用一些实用程序库,例如 Apache Commons -

File file = new File("E:\\SOFTWARE setups\\Apache\\new.txt");
String content = FileUtils.readFileToString(file);
System.out.print(content);

关于java - 谁能解释一下如何用java读取文件。 -1是什么意思?我想读取的文件中没有任何数字..困惑 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091161/

相关文章:

multithreading - 从持久性存储读取时,CPU核心是否繁忙?

c# - 在 C# 中打印到 LPT1

java - 如何在使用 Maven 创建 Jar 时使用依赖项在本地运行代码并排除它们

java - 在运行时决定换行符

java - JPanel 填满整个 JScrollPane

java - 从 mac 读取文件时输出错误

java - 在 Android Studio 中获取绝对路径和打开文件时遇到问题

java - 如何以编程方式配置 log4j 2.5 RollingRandomAccessFileAppender 以限制文件而不重命名?

r - 使用 R 和管道工加载文件

javascript - 如何在 reader.onload 函数之外存储 dataURL