【发布时间】:2015-01-28 20:01:09
【问题描述】:
所以,首先,我将尝试解释我要完成的工作。我是java新手,我愿意学习它。问题:
假设我有一个 txt 文件,里面有这样的内容:
模式是:| a b |,当 a 是 ID 而 b 是实际数字时。我已经阅读了 Java 中的 Scanner、FileReader 和 BufferedReader 类,我尝试使用它们从文件中恢复整数并将它们保存到我的两个整数数组([2][1000])中。 [0][0-999] 是 ID,1[0-999] 是实际数字。现在是我坚持的那一刻 - 我可以读取前两个零,但是我不知道如何跳过 |象征。
我现在的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ShortSearching {
public static void main(String[] args) {
int[] tall = new int[100];
int i = 0, k = 0;
Tab tablica = new Tab();
File textFile = new File("byteObs.txt");
try (Scanner scanner = new Scanner(textFile)) {
while (scanner.hasNextInt()) {
k++;
tall[i++] = scanner.nextInt();
System.out.println(tall[i]);
if (k == 2) {
scanner.findInLine("|");
scanner.skip("|");
k = 0;
}
}
} catch (FileNotFoundException e) {
System.out.println("File not found: " + textFile.toString());
//e.printStackTrace();
}
/*String byteObs = "byteObs.txt";
File textFile = new File(byteObs);
Scanner input = new Scanner(textFile);
//short[] tabID,tabVal = new short[1000];
byte k = 0;
while (input.hasNextLine()) {
for (int i = 0; i <= 999; i++) {
for (int j = 0; j <= 999; j++) {
if (k != 2) {
if (input.hasNextShort()) {
//matrix[i][j] = input.nextShort();
//System.out.printf("%d ", matrix[i][j]);
k++;
}
}
else {
input.skip("|");
k=0;
}
}
}
}
input.close(); */
}}
我尝试了多种方式,其中一些无法粘贴,因为它们已被删除。如果有人至少能指出我应该阅读的方法以便能够跳过这个,我将不胜感激我的文本文件中的符号。
PS。我知道 for 循环的编号是错误的,我会在修复跳过符号的东西时更改它们。
编辑 http://wklej.org/id/1543739/
这是全文。
【问题讨论】:
-
您能否edit 提出您的问题,而不是发布存储在文件中的实际文本数据,以便我们在为您的问题创建解决方案时使用它?
标签: java arrays java.util.scanner bufferedreader filereader