2017-05-09 76 views
-1

我想从文件(某人的业余爱好者的字符串)中读取一行,然后将其分配给已在另一个类中启动的数组(标题为UserAccount ),其中setHobbies方法包含此。Java - 从文件中读取字符串,然后转换为数组

任何人都可以告诉我我要去哪里吗?

谢谢。

+0

可以呈现怎样的线条看起来像内文件? –

+0

更具体地说明什么不工作。并发布'UserAccount'的代码。 –

+0

如果有输入,while循环将永远不会结束,因为您永远不会推进扫描仪。你需要在循环内部有'input.nextLine()'。 –

回答

0

就我个人而言,当从文件中读取数据时,我会使用ArrayList来存储业余爱好,因为它可以增长和缩小,这意味着您不必关心使用数组。不过,如果你想继续和你确定该文件的读取长度将是相同的内UserAccount实例化数组,那么你可以这样做:

Scanner sc = null; 
try { 
    sc = new Scanner(new BufferedReader(new FileReader("example.txt"))); 

    while (sc.hasNextLine()) { 
     ... 
     ... 
     ... 
     String[] hobbies = input.nextLine().split(","); 
     a1.setHobbies(hobbies); 
    } 

} 
catch(FileNotFoundException e){ 
     // handle here 
} 
finally { 
    if (sc != null) { 
     sc.close(); 
    } 
} 
+1

我会建议一个“if(input.hasNextLine())”,而不是“while” – robermann

相关问题