iText Pdf readerを使用してpdfファイルを読みました。その後、私はテキストファイルにコンテンツを保存しようとしています。私は次のコードを使用しています。しかし、ここではコンテンツはファイルに書き込まれていません。ここでは、pdfページ全体を1ページずつ読んでいますが、1ページしか読まない場合は、ファイルに書き込んでいます。なぜこのコードは、指定されたテキストファイルにコンテンツ全体を保存することができません。しかし、このコードはすべてのコンテンツをコンソールに表示します。誰かが私が間違っている場所を助けることができますか?コンテンツをJavaを使用してテキストファイルに保存できません
public class PdfReadExample {
public static void main(String[] args) {
PdfReader reader;
String textFromPage;
BufferedWriter bw=null;
FileWriter fw=null;
try {
reader = new PdfReader("pdf location");
int nPages=reader.getNumberOfPages();
System.out.println(nPages);
for(int i = 1; i <=n Pages; i++){
textFromPage = PdfTextExtractor.getTextFromPage(reader, i);
System.out.println("page" + i + " " + textFromPage);
fw = new FileWriter("input.txt", true);
bw = new BufferedWriter(fw);
bw.write(textFromPage);
System.out.println(textFromPage);
}
reader.close();
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
何らかの理由で何らかの理由でループ内に 'FileWriter'と' BufferedWriter'を作成する必要がある場合(私はあなたがなぜ必要なのかはわかりませんが、不可能ではありません)ループ内でそれらを閉じます( 'bw.close()'と 'fw.close()')。 @ Lotharの提案よりも効率が悪くなります。ファイルを繰り返し開いたり閉じたりしているからですが、可能な選択肢です。 – DaveyDaveDave
ご協力ありがとうございます。しかし、私はOutputStreamWriter(FileOutputStream、String)を使用していて、うまく動作しています。 –
@MohammadHasanもし答えが助けられていて、今のところうまくいけば答えを受け入れるかもしれないので、 "開いている質問リスト"から消えます;-) – Lothar