首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不读取文件的Int值

不读取文件的Int值
EN

Stack Overflow用户
提问于 2016-03-26 04:00:36
回答 1查看 240关注 0票数 0

因此,我试图从txt文件中读取值,并将它们添加到ArrayList中。我使用以下代码,但在使用它之后,当我使用ArrayList (List)时,它仍然是空的。有什么容易发现的错误吗?

代码语言:javascript
复制
    ArrayList<Integer> list = new ArrayList<>();
    Scanner in = null;
    try{
        String fname = "p01-runs.txt";
        in = new Scanner(new File(fname));
    }catch (FileNotFoundException pExcept){
        System.out.println("Sorry, the File you tried to open does not exist. Ending program.");
        System.exit(-1);
    }

    while (in.hasNextInt())
    {
        int x = in.nextInt();
        list.add(x);
    }

编辑:输入文件只是一个整数值的txt文件,如下所示:2,8,3

2 9

8

6

3 4 6 1 9

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-26 04:15:22

hashNextInt()的调用可以基于以下几个原因返回false

  • 没有更多的输入,或者
  • 输入流上的下一个令牌不是有效整数。

这可能是由于一个空输入文件,或者由于文件的格式与您试图读取它的方式不匹配造成的。

在您的示例中,除了FileNotFoundException之外,还可能抛出一些FileNotFoundException

UPDATE --这个问题你没有告诉我们/告诉我们。想想这个..。使用您的代码和输入文件。

代码语言:javascript
复制
[stephen@blackbox tmp]$ cat Test.java 
import java.util.*;                                                                                                                                           
import java.io.*;

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

        ArrayList<Integer> list = new ArrayList<>();
        Scanner in = null;
        try{
            String fname = "test.txt";
            in = new Scanner(new File(fname));
        }catch (FileNotFoundException pExcept){
            System.out.println("Sorry, the File you tried to open does not exist. Ending program.");
            System.exit(-1);
        }

        while (in.hasNextInt())
            {
                int x = in.nextInt();
                list.add(x);
            }
        System.out.println("Read " + list.size() + " numbers");
    }
}
[stephen@blackbox tmp]$ cat test.txt 
2 8 3

2 9

8

6

3 4 6 1 9
[stephen@blackbox tmp]$ javac Test.java 
[stephen@blackbox tmp]$ java Test 
Read 12 numbers
[stephen@blackbox tmp]$ 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36231471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档