将文本文件内容逐行存储到数组中

新手上路,请多包涵

所有,我现在面临的问题是不知道将文本文件中的内容存储到数组中。情况就像,文本文件内容:

 abc1
xyz2
rxy3

我希望将它们逐行存储到数组中,这可能吗?我期望的是这样的:

 arr[0] = abc1
arr[1] = xyz2
arr[2] = rxy3

我已经尝试过类似的方法,但似乎对我不起作用。如果有人能帮助我,真的非常感谢。

代码是:

 BufferedReader in = new BufferedReader(new FileReader("path/of/text"));
        String str;

        while((str = in.readLine()) != null){
            String[] arr = str.split(" ");
            for(int i=0 ; i<str.length() ; i++){
                arr[i] = in.readLine();
            }
        }

原文由 salemkhoo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 471
2 个回答

我建议使用 ArrayList ,它处理动态大小调整,而数组需要预先定义大小,您可能不知道。您始终可以将列表转回数组。

 BufferedReader in = new BufferedReader(new FileReader("path/of/text"));
String str;

List<String> list = new ArrayList<String>();
while((str = in.readLine()) != null){
    list.add(str);
}

String[] stringArr = list.toArray(new String[0]);

原文由 Kevin Bowersox 发布,翻译遵循 CC BY-SA 3.0 许可协议

最简单的解决方案:

 List<String> list = Files.readAllLines(Paths.get("path/of/text"), StandardCharsets.UTF_8);
String[] a = list.toArray(new String[list.size()]);

请注意,java.nio.file.Files 是从 1.7 开始的

原文由 Evgeniy Dorofeev 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题