java - 如何在Java中正确读取文件中的整数

标签 java file java.util.scanner

我已阅读之前的帖子并尝试将代码集成到我的项目中。 我正在尝试从 txt 文件中读取整数。 我正在使用这个方法:

 static Object[] readFile(String fileName) throws FileNotFoundException {
    Scanner scanner = new Scanner(new File(fileName));
    List<Integer> tall = new ArrayList<Integer>();
    while (scanner.hasNextInt()) {
        tall.add(scanner.nextInt());
    }

    return tall.toArray();
}

我不知道数据的大小,所以我使用List 在主要调用方法中:

Object [] arr = readFile("C:\\02.txt");
System.out.println(arr.length);

我发现数组大小为 0; 我试图从文件中读取的整数是二进制序列。 (1010101010...) 我认为问题与扫描仪有关,也许他认为这不是整数。

最佳答案

您可以使用BufferReader代替:

String line = "";
List<Integer> tall = new ArrayList<Integer>();
try {
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    while ((line = br.readLine())!= null) {
        tall.add(Integer.parseInt(line, 2));
    }
    br.close();
}catch(IOException e) {}

关于java - 如何在Java中正确读取文件中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23181757/

相关文章:

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 尝试允许用户使用扫描仪选择文本文件

java - 是否有 100% Java 替代 ImageIO 来读取 JPEG 文件?

java.io.FileNotFoundException--文件未找到

java - 在一长串文件中查找 3 个最近修改的文件

javascript - 将文件和文件夹信息保存到 localStorage

java - Android 应用程序在 for 循环后崩溃

java - 从 java 代码执行 shell 脚本并将终端的输出附加到 .txt 文件

c# - 将文件写入 Web 服务器 - ASP.NET

Java:无限循环使用 Scanner in.hasNextInt()