可能重复:
Java:将整数从文件读入数组
我想从一个文本文件中读取整数值,比如contactids.txt。在文件中我有像
12345
3456778
234234234
34234324234
我想从文本文件中读取它们...请帮助
可能重复:
Java:将整数从文件读入数组
我想从一个文本文件中读取整数值,比如contactids.txt。在文件中我有像
12345
3456778
234234234
34234324234
我想从文本文件中读取它们...请帮助
您可能想做这样的事情(如果您使用的是 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();
}
您可以使用 aScanner
及其nextInt()
方法。
如果需要,扫描仪还可以nextLong()
处理更大的整数。
试试这个:-
File file = new File("contactids.txt");
Scanner scanner = new Scanner(file);
while(scanner.hasNextLong())
{
// Read values here like long input = scanner.nextLong();
}
值有多大?Java 6 的 Scanner 类可以读取从 int(32 位)、long(64 位)到 BigInteger(任意大整数)的任何内容。
对于 Java 5 或 4,有 Scanner,但不支持 BigInteger。您必须逐行读取(使用 Scanner 类的 readLine)并从 String 创建 BigInteger 对象。
使用FileInputStream的readLine()方法读取并使用Integer.parseInt()方法将返回的 String 解析为 int。
我会使用几乎相同的方式,但使用列表作为读取整数的缓冲区:
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();
}