sm 기술 블로그
[스프링부트] 파일 이름 변경 본문
파일 혹은 폴더의 이름을 변경해야 할 상황이 생길 수 있다.
크게
1. java.io.File => renameTo()
2. java.nio.file.move()
3. Guava
4. Apache Common IO
가 있지만 2,3,4는 이동을 통해 이름을 변경하는 것으로 만약 폴더내에 파일이 있다면 에러가 발생한다.
따라서 1번을 사용하고 그 예를 작성해보고자 한다.
java.io.File => renameTo()
public void doModify(String title, String newTitle) {
String root = System.getProperty("user.dir") + "\\src\\main\\resources\\static\\product_image\\";
// 1. 원본 폴더
File file = new File(root + product.title);
// 2. 새로운 폴더
File newFile = new File(root + productWriteForm.newTitle);
// 폴더 이름을 변경해줌.
file.renameTo(newFile);
}
root에 폴더 도달하기 전 최상위 폴더까지의 경로를 작성해 준다.
System.getProperty("user.dir") 는 현재 프로젝트의 경로를 알아서 찾아내주기 때문에 좀 더 손 쉽게 경로를 작성할 수 있다.
나머지 부분은 각자 원하는 경로를 작성해주자.
원본 폴더와 새로운 폴더의 file을 만들어주고
원본 폴더.nameTo(새로운 폴더)
형식으로 작성하면 폴더내에 파일이 있더라도 문제없이 이름 변경이 가능하다.
'스프링부트' 카테고리의 다른 글
[스프링부트 / 리액트] JWT를 Header에 넣어서 요청 (0) | 2022.09.13 |
---|---|
[스프링부트] WebSocket와 stomp (0) | 2022.09.13 |
[스프링부트] 입력 값 검증, 에러 메시지 표시 (0) | 2022.09.08 |
[스프링부트] JWT(Json Web Token) - 코드 (0) | 2022.09.06 |
[스프링 부트] JWT(Json Web Token)란? (0) | 2022.09.05 |
Comments