私は.txtファイルのパスを持っていて、すべてのデータを1つのStringに取得したい場合は、 とにかくできますか?io.Fileを使用してファイルのデータを読み取る方法は?
私はそこjava.ioパッケージ内のファイル全体を読み込みます単一の方法はませんが、あなたは非常に簡単でラインを読んで、BufferedReaderのを使用してそれを行うことができますio.File APIに
私は.txtファイルのパスを持っていて、すべてのデータを1つのStringに取得したい場合は、 とにかくできますか?io.Fileを使用してファイルのデータを読み取る方法は?
私はそこjava.ioパッケージ内のファイル全体を読み込みます単一の方法はませんが、あなたは非常に簡単でラインを読んで、BufferedReaderのを使用してそれを行うことができますio.File APIに
を発見し、適切な方法をdidntの完全なコンテンツを取得するためにそれらを '\ n'と一緒に追加します。例えば:
String line = null;
StringBuilder sb = new StringBuilder("");
BufferedReader br = new BufferedReader("c:/path/yourfile.txt");
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
// you may probably need to remove the last '\n' before toString()
String fileContent = sb.toString();
最も簡単な方法は、あなたのプロジェクトにApache Commons IO libraryを追加して、過去にFileUtils.readFileToString方法
のいずれかを使用することです、私はJava.util.Scannerクラスを使用し、それに成功を収めています。私のようなヘルパーメソッドを書いてみます:あなたは以下のように単一のStringを構築するためにString.join(..)
を使用することができますよりも、あなたは、リストのあなたのtxtファイルを読むためにFiles.readAllLines(Path file)
を使用することができます
public String getFileAsString(String pathName){
StringBuilder fullTxtFileAsString = new StringBuilder();
Scanner in = new Scanner(new File(pathName));
while(in.hasNext()){
fullTxtFileAsString.append(in.nextLine);
fullTxtFileAsString.append("\n");
}
return fullTxtFileAsString.deleteCharAt(fullTxtFileAsString.size() - 1).
toString(); //Removes the extra newline character
}
::
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
String s = String.join("", lines);
System.out.println(s);
これが助けることを望みます。
これは私が推測することが多い回答されています:http://stackoverflow.com/questions/4716503/reading-a-plain-text-file-in-java – BenBen