Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.txt文件读取数字并存储到JAVA变量_Java_Io_Report - Fatal编程技术网

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

从.txt文件读取数字并存储到JAVA变量,java,io,report,Java,Io,Report,所以我在为工作做这个小报告。在我们的一个数据进程中,会弹出一个.txt文件,我已经设置了一个JFileChooser和GUI来选择目录。现在我已经完成了,我需要弄清楚如何将这些数字存储到变量中,这样我就可以用它们来做一些数学公式等等。我不太清楚该怎么做,因为我对java还不熟悉,对编程也不太熟悉。有人有什么方法可以做到这一点吗?我在arraylist中有这些文件。非常感谢您的帮助 FileName: ---------------Processing Summary--------------

所以我在为工作做这个小报告。在我们的一个数据进程中,会弹出一个.txt文件,我已经设置了一个JFileChooser和GUI来选择目录。现在我已经完成了,我需要弄清楚如何将这些数字存储到变量中,这样我就可以用它们来做一些数学公式等等。我不太清楚该怎么做,因为我对java还不熟悉,对编程也不太熟悉。有人有什么方法可以做到这一点吗?我在arraylist中有这些文件。非常感谢您的帮助

FileName:

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

使用BufferedReader和StringTokenizer类

BufferedReader以逐行读取文件。 StringTokenizer以空格分隔行。
在包装类上使用静态方法将数字的字符串表示形式解析为java对象。Integer.parseInt(…),Float.parseFloat(…)。

将其存储在类似ArrayList的数组中,以便在读取数字时将其添加到列表中。

如果这些是字符串,则始终可以将其拆分为空格字符,并将第一个值转换为数字

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]));
}
Map counts=newhashmap();
String line=“1601记录”;
字符串[]标记=line.split(\\s+);
如果(tokens.length>1){
counts.put(令牌[1],Integer.valueOf(令牌[0]);
}

使用扫描仪是最简单的方法

导入java.util.Scanner

然后

Scanner myScanner=new Scanner(新文件(“/Your/File/Path/Here”);

然后


根据您的文件结构,您可以使用
myScanner.next()
myScanner.nextInt()
要分别获取令牌和int,令牌通常是由空格分隔的单词

可能是视觉的重复,因为他是编程新手,我会在建议使用scanner的基础上向他解释一些事情。他有一个文件数组列表,所以他需要迭代、读取(scanner)和解析它们(看起来它们的字符不是数字),将它们从字符串转换为适当的变量,然后对它们进行数学运算。与其向他解释所有这些,不如简单地提及它们,并将其链接到oracle文章:)我不知道他的作业的规格,所以我很难具体说明,如果你有任何解释性的网页或文章,请随意将其发布为edits@WilliamShatner
String line;
while (myScanner.hasNextLine()) {
    line = myScanner.nextLine();
    //parse the string for your data and store it

}