如何从文本文件中获取数据并将其保存为字符串?

时间:2017-06-10 06:26:55

标签: java java.util.scanner

如何从文本文件中获取数据并将其保存为字符串?

例如,我的文本文件的编号为1,4,5,6,8和10.4。这些数字可以在同一行或单独的行上。我想将它们连接成一个字符串,如:import java.io.File; import java.io.FileNotFoundException; import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.Scanner; public class f { public static void main(String args[]) { int count = 0; double totalcount = 0; double average = 0; Scanner read = new Scanner(System.in); Scanner file; String input = ""; String test = ""; double[] array1 = new double[100]; while (true) { System.out.println("Enter name of file or enter quit to exit"); input = read.next(); if (input.equalsIgnoreCase("quit")) { break; } try { file = new Scanner(new File(input)); if (!file.hasNextLine()) { System.out.println(input + " file is empty"); } while (file.hasNext()) { totalcount = totalcount + file.nextDouble(); count++; } while (file.hasNext()) { test = test + (" ") + file.next(); } System.out.println("bla" + test); average = totalcount / count; DecimalFormat df = new DecimalFormat("#.###"); df.setRoundingMode(RoundingMode.CEILING); System.out.println("\nCount: " + count); System.out.println("Total: " + df.format(totalcount)); System.out.println("Average: " + df.format(average)); System.out.println(); } catch (FileNotFoundException e) { System.out.println(input + " doesn't exist"); } } } }

{{1}}

我的代码无效。

2 个答案:

答案 0 :(得分:1)

您的代码工作正常,问题是,您尝试访问文件的内容两次。在while loop之后,hasnext()方法将返回false。因为您已经访问了所有元素在第一个while循环中。 所以它不会执行 -

                while (file.hasNext()) {
                test = test + (" ") + file.next();
                }

除此之外你的代码还可以。 如果你想将它存储在字符串中,那么在你的第一个while loop进行小修改,如下所示 -

while (file.hasNext()) {
      Double d=file.nextDouble();
      test = test + (" ")+d;
      totalcount = totalcount + d;
      count++;
 }

我认为这会给你你想要的东西。

答案 1 :(得分:-1)

您好我认为以下代码对您有用,根据您的问题我有txt文件包含数据,首先我得到文件的位置&然后我试图获取内容,最后我将其打印到控制台

this.add({"title":"Three"});