13

すべて、私は今、コンテンツをテキストファイルに配列に格納する方法がわからないという問題に直面しています。状況は、テキスト ファイルの内容のようなものです。

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();
            }
        }
4

11 に答える 11

13

最も簡単な解決策:

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 以降であることに注意してください

于 2013-04-19T08:21:14.950 に答える
3

ジャワ8:

Files.lines(new File("/home/abdennour/path/to/file.txt").toPath()).collect(Collectors.toList());
于 2015-06-11T07:18:47.323 に答える
3

これは、ファイルに何行あるかわからず、後で変更される可能性があるため、リストを使用するため、機能するはずです。

BufferedReader in = new BufferedReader(new FileReader("path/of/text"));
String str=null;
ArrayList<String> lines = new ArrayList<String>();
while((str = in.readLine()) != null){
    lines.add(str);
}
String[] linesArray = lines.toArray(new String[lines.size()]);
于 2013-04-19T08:20:23.703 に答える
2

Apache Commons IOを使用するだけです

List<String> lines = IOUtils.readLines(new FileInputStream("path/of/text"));
于 2013-04-19T08:20:27.583 に答える
1

この完全なコードを問題に使用できます。詳細については、appucoder.comで確認できます。

class FileDemoTwo{
    public static void main(String args[])throws Exception{
        FileDemoTwo ob = new FileDemoTwo();
        BufferedReader in = new BufferedReader(new FileReader("read.txt"));
        String str;
        List<String> list = new ArrayList<String>();
        while((str =in.readLine()) != null ){
            list.add(str);
        }
        String[] stringArr = list.toArray(new String[0]);
        System.out.println(" "+Arrays.toString(stringArr)); 
    }

}
于 2016-11-23T09:16:52.790 に答える