[java] Apache POI를 이용한 Word 문서 파일명 변경
Apache POI는 Java에서 Microsoft Office 파일을 다루는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 Java 코드로 Word, Excel, PowerPoint 등의 문서를 읽고 수정할 수 있습니다.
이번에는 Apache POI를 사용하여 Word 문서의 파일명을 변경하는 방법에 대해 알아보겠습니다.
필요한 라이브러리 가져오기
아래의 의존성을 pom.xml
파일에 추가하여 Apache POI 라이브러리를 가져옵니다.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
Word 문서 파일명 변경 코드 예시
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class WordFileRenamer {
public static void renameFile(String filePath, String newName) throws IOException {
File file = new File(filePath);
if (file.exists() && file.isFile()) {
XWPFDocument document = new XWPFDocument(new FileInputStream(file));
FileOutputStream out = new FileOutputStream(newName);
document.write(out);
document.close();
out.close();
boolean isSuccess = file.delete();
if (!isSuccess) {
throw new IOException("Failed to delete the original file.");
}
} else {
throw new IOException("File does not exist or is not a regular file.");
}
}
public static void main(String[] args) {
try {
String filePath = "path/to/word/document.docx";
String newFileName = "new_document.docx";
renameFile(filePath, newFileName);
System.out.println("File renamed successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
위의 코드는 지정한 파일 경로의 Word 문서를 new_document.docx
로 이름을 변경하는 예시입니다.
코드 설명
renameFile
메소드는 파일 경로(filePath
)와 새로운 파일명(newName
)을 인자로 받습니다.- 주어진 파일 경로에 해당하는 파일이 존재하는지 확인합니다.
- 파일이 존재하면
XWPFDocument
를 사용하여 Word 문서를 엽니다. - 새로운 파일명으로 파일을 생성하기 위해
FileOutputStream
을 초기화합니다. - 열린 Word 문서를 새로운 파일명으로 저장합니다.
- 이후 문서 및 출력 스트림을 닫습니다.
- 원래 파일을 삭제합니다. (Optional)
- 파일 삭제에 실패하는 경우
IOException
을 발생시킵니다. main
메소드에서renameFile
을 호출하여 파일명 변경 작업을 실행합니다.