10

可能重复:
Java:将整数从文件读入数组

我想从一个文本文件中读取整数值,比如contactids.txt。在文件中我有像

12345
3456778
234234234
34234324234

我想从文本文件中读取它们...请帮助

4

6 回答 6

22

您可能想做这样的事情(如果您使用的是 java 5 或更多)

Scanner scanner = new Scanner(new File("tall.txt"));
int [] tall = new int [100];
int i = 0;
while(scanner.hasNextInt())
{
     tall[i++] = scanner.nextInt();
}

通过Julian Grenier从数组中的文件中读取整数

于 2012-05-25T10:13:33.000 回答
4

您可以使用 aScanner及其nextInt()方法。
如果需要,扫描仪还可以nextLong()处理更大的整数。

于 2012-05-25T10:13:12.870 回答
3

试试这个:-

File file = new File("contactids.txt");
Scanner scanner = new Scanner(file);
while(scanner.hasNextLong())
{
  // Read values here like long input = scanner.nextLong();
}
于 2012-05-25T10:17:19.563 回答
1

值有多大?Java 6 的 Scanner 类可以读取从 int(32 位)、long(64 位)到 BigInteger(任意大整数)的任何内容。

对于 Java 5 或 4,有 Scanner,但不支持 BigInteger。您必须逐行读取(使用 Scanner 类的 readLine)并从 String 创建 BigInteger 对象。

于 2012-05-25T10:11:08.727 回答
1

使用FileInputStreamreadLine()方法读取并使用Integer.parseInt()方法将返回的 String 解析为 int。

于 2012-05-25T10:11:29.100 回答
1

我会使用几乎相同的方式,但使用列表作为读取整数的缓冲区:

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

    return tall.toArray();
}
于 2012-06-23T17:57:34.787 回答