如何从文本文件中获取数据并将其保存为字符串?
例如,我的文本文件的编号为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}}
我的代码无效。
答案 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"});