所以我正在制作这个小小的报告程序。在我们的一个数据进程中吐出一个.txt文件,我已经设置了一个JFileChooser和GUI来选择directorys。现在我已经完成了,我需要弄清楚如何将这些数字存储到变量中,这样我就可以用它们做一些数学公式等等。我不确定如何做到这一点,因为我是java的新手并且一般都是编程新手。任何人都有任何提示来实现这一目标?我有一个arraylist中的文件。非常感谢任何帮助。
FileName:
---------------Processing Summary---------------
1601 Records.
0 Malformed.
0 Fixed.
0 Bad.
1 Bad Lines.
1600 Good Entries.
答案 0 :(得分:1)
使用扫描仪是最简单的方法
import java.util.Scanner
然后
Scanner myScanner = new Scanner(new File("/Your/File/Path/Here");
然后
String line;
while (myScanner.hasNextLine()) {
line = myScanner.nextLine();
//parse the string for your data and store it
}
根据您的文件结构,您可以使用myScanner.next()
和myScanner.nextInt()
分别获取令牌和整数,令牌通常是由空格分隔的单词
答案 1 :(得分:0)
使用BufferedReader和StringTokenizer类。
BufferedReader逐行读取文件。 StringTokenizer以空格分隔行。 在包装类上使用静态方法将数字的String表示形式解析为java对象。 Integer.parseInt(...),Float.parseFloat(...)。
答案 2 :(得分:0)
将它存储在ArrayList这样的数组中,以便在读取数字时将其添加到列表中。
答案 3 :(得分:0)
如果这些是字符串,您可以随时将它们拆分为空白字符,并将第一个值转换为数字。
Map<String, Integer> counts = new HashMap<String, Integer>();
String line = "1601 Records";
String [] tokens = line.split("\\s+");
if (tokens.length > 1) {
counts.put(tokens[1], Integer.valueOf(tokens[0]));
}