1
我使用iText Pdf閱讀器閱讀pdf文件。之後,我正在綁定將內容保存在文本文件中。我正在使用以下代碼。但是這裏的內容並沒有寫入文件。在這裏,我一頁接一頁地閱讀整篇PDF,但是如果只讀一頁,那麼它正在寫入文件。爲什麼這段代碼無法將整個內容保存在指定的文本文件中。但是,此代碼打印控制檯中的所有內容。任何人都可以幫助請哪裏我錯了?無法使用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()')。這會比@洛薩的建議效率低,因爲它會反覆打開和關閉文件,但這是一個可能的選擇。 – DaveyDaveDave
感謝您的幫助。不過,我已經使用OutputStreamWriter(FileOutputStream,字符串),它很好。 –
@MohammadHasan所以如果答案有幫助,而且事情正如預期的那樣工作,那麼您可能會接受答案,以便它從「開放式問題列表」中消失;-) – Lothar