从.text文件中读取数字并存储到变量JAVA

时间:2013-06-24 19:03:41

标签: java io report

所以我正在制作这个小小的报告程序。在我们的一个数据进程中吐出一个.txt文件,我已经设置了一个JFileChooser和GUI来选择directorys。现在我已经完成了,我需要弄清楚如何将这些数字存储到变量中,这样我就可以用它们做一些数学公式等等。我不确定如何做到这一点,因为我是java的新手并且一般都是编程新手。任何人都有任何提示来实现这一目标?我有一个arraylist中的文件。非常感谢任何帮助。

FileName:

---------------Processing Summary---------------
1601 Records. 
0 Malformed.
0 Fixed.
0 Bad.
1 Bad Lines.
1600 Good Entries.

4 个答案:

答案 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]));
}