Ошибка "файл уже используется"
Почему при записи FileWriter документ Word не открывается, а при записи FileOutputStream открывается?
Помогите, пожалуйста, нужен именно FileWriter.
Path link = Paths.get("C:\\Users\\Admin\\Desktop\\BBB.docx");
XWPFDocument docxModel = new XWPFDocument();
if (Files.exists(link)) {
docxModel.createParagraph();
String documentLine = docxModel.getDocument().toString();
CTSectPr ctSectPr = docxModel.getDocument().getBody().addNewSectPr();
XWPFParagraph bodyParagraph = docxModel.createParagraph();
bodyParagraph.setAlignment(ParagraphAlignment.LEFT);
XWPFRun paragraphConfig = bodyParagraph.createRun();
XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
paragraphConfig.setItalic(true);
paragraphConfig.setFontSize(20);
paragraphConfig.setColor("170101");
paragraphConfig.setFontSize(12);
paragraphConfig.setText(numberandnames.toString());
try {
document.write(new FileOutputStream(new File("C:\\Users\\Admin\\Desktop\\BBB.docx")));
} catch (IOException ex) {
throw new RuntimeException(ex);
}
try {
FileOutputStream outputStream = new FileOutputStream("C:\\Users\\Admin\\Desktop\\BBB.docx");
docxModel.write(outputStream);
outputStream.close();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
Для того, чтобы освободить документ после работы программы, используйте метод close() у документа:
XWPFDocument document = new XWPFDocument();
// работа с документом
document.close();
Но если случится ошибка в программе, то документ все равно может остаться открытым, поэтому лучше использовать конструкцию try-with-resources:
try (XWPFDocument document = new XWPFDocument()) {
// работа с документом
}

