嘿,我刚刚开始学习如何编码。我正在使用netbeans,我想将一些数据从txt.file传输到Java中的数组中。这可能是一个非常简单的修复程序,但我看不出有什么问题
这是txt.file中的数据:
58_hello_sad_happy
685_dhejdho_sahdfihsf_hasfi
544654_fhokdf_dasfjisod_fhdihds
这是我正在使用的代码,但是smthg在最后一行代码中是错误的:
int points = 0;
String name = "";
String a = "";
String b = "";
public void ReadFiles() throws FileNotFoundException{
try (Scanner input = new Scanner(new File("questions.txt"))) {
String data;
while(input.hasNextLine()){
data = input.nextLine();
String[] Questions = data.split("_");
points = Integer.parseInt(Questions[0]);
name= Questions[1];
a = Questions[2];
b = Questions[3];
}
System.out.println(Arrays.toString(Questions));
}
}
这是我得到的错误:
error: cannot find symbol
System.out.println(Arrays.toString(Questions));
谢谢大家。
答案 0 :(得分:0)
如果您只想打印数据,也可以使用以下代码:
Files.readAllLines(Paths.get("questions.txt")).forEach(line -> {
System.out.println(Arrays.toString(line.split("_")));
});
输出为:
[58, hello, sad, happy]
[685, dhejdho, sahdfihsf, hasfi]
[544654, fhokdf, dasfjisod, fhdihds]
正确的代码版本应如下所示(您必须通过将println移至while循环的末尾来访问声明范围内的变量Question):
// definitions...
public void ReadFiles() throws FileNotFoundException{
try (Scanner input = new Scanner(new File("questions.txt"))) {
String data;
while(input.hasNextLine()){
data = input.nextLine();
String[] Questions = data.split("_");
points = Integer.parseInt(Questions[0]);
name= Questions[1];
a = Questions[2];
b = Questions[3];
System.out.println(Arrays.toString(Questions));
}
}
}