所以我有这个 dat 文件(txt 文件),每个国家都有一个州和一个邮政编码。在这个 dat 文件中,我有一个分号,用于分隔每行的字符串和每行的整数。我也为此使用了一个接口和一个主类,但这是应该完成大部分工作的类。下面是方法。
PS:我试图在这个网站上找到其他已经回答了我的问题但实际上没有帮助的问题!
这是 dat 文件的内容:
75242;乌普萨拉
90325;于默奥
96133;博登
23642;霍尔维肯
35243;韦克舍
51000;延雪平
72211;韦斯特罗斯
我的问题是我找不到一种方法来以我希望它们工作的方式保留数组中的整数或字符串。试图只读取整数和字符串,但没有奏效。另请注意,我已尝试读取 dat 文件中的每一行,然后读取每个字符,以尝试将值放入它们自己的数组中。还尝试通过使用 if'ments 并说“if(Character.is..)”来转移它们。在下面的方法中,我只是试图捕获整数。
还认为由于分号,我应该使用“Character.is....”之类的东西来检查它,然后从读取 ch/string 转到 int。但是当时想迈出一步,否则我什么也做不了!
public void read() {
try {
ArrayList<Integer> itemArr = new ArrayList<Integer>();
ArrayList<String> descArr = new ArrayList<String>();
FileReader file = new FileReader("C:\\Users\\me\\Desktop\\places.dat");
BufferedReader r = new BufferedReader(file);
int r1;
while ((r.readLine()) != null) {
while ((r1 = r.read()) != -1) {
char ch = (char) r1;
if (Character.isDigit(ch)) {
itemArr.add(r.read());
}
}
}
} catch (IOException e) {
}
}
这是预期的:它们也已排序,但我可以处理它,只要我能弄清楚如何正确地将它们存储在它们自己的每个数组中。
23642 霍尔维肯
35243 韦克舍
51000 延雪平
72211 韦斯特罗斯
75242 乌普萨拉
90325 于默奥
96133 博登
谢谢大家的意见,真的有帮助。