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

sal*_*hoo 12 java arrays

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

abc1
xyz2
rxy3
Run Code Online (Sandbox Code Playgroud)

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

arr[0] = abc1
arr[1] = xyz2
arr[2] = rxy3
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西,但似乎对我不起作用.如果有人可以帮助我,真的非常感谢.

代码是:

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();
            }
        }
Run Code Online (Sandbox Code Playgroud)

Kev*_*sox 22

我建议使用一个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]);
Run Code Online (Sandbox Code Playgroud)


Evg*_*eev 10

最简单的解决方案:

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

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