重複の可能性:
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();
}
配列内のファイルから整数を読み取るのJulian Grenier経由
Scanner
とその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には、int(32ビット)、long(64ビット)からBigInteger(任意の長整数)まで、あらゆるものを読み取ることができるScannerクラスがあります。
Java 5または4の場合、Scannerはありますが、BigIntegerはサポートされていません。(ScannerクラスのreadLineを使用して)行ごとに読み取り、StringからBigIntegerオブジェクトを作成する必要があります。
FileInputStreamのreadLine()メソッドを使用して、 Integer.parseInt()メソッドを使用して返された文字列を読み取り、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();
}