Java에서 홈 디렉토리 구하기

|
System.getProperty("user.home");

이처럼 사용하게 되면 OS에 상관없이 home디렉토리를 구하게 된다.
하지만 Spring 프레임워크에서 서버로의 업로드는 문제가 없지만 저장한 사진을 웹 사이트에 보여주기 위해선 HTML 태그에 src등의 속성에 대입하게 되는데 'C:\...' 혹은 '/home/...' 등의 경로가 대입이 되므로 주소명으로 다루기 위해 Project안의 WebContent폴더에 저장하게 된다.

이를테면, src='profile/xxx.jpg'라고 넣고 싶다면

String dir = req.getServletContext().getRealPath("profile"); // 폴더가 없을 경우 생성 if (!dir.exists()) { dir.mkdirs(); }

라고 해주면 profile이란 폴더가 없을 경우 폴더가 생성이 되며, 프로젝트 폴더 내부의 하위 폴더인 WebContent에 저장이 된다.
주소/Project명/profile/xxx.jpg 로 접근을 하게 되면 해당 사진을 볼 수 있게 된다.

만약 profile폴더와 사진파일 중간에 폴더를 만들고 싶다면 다음과 같이 하면 된다.
이를테면, src='profile/멤버번호/xxx.jpg'라고 넣고 싶다면

String uploadPath = req.getServletContext().getRealPath("profile"); // 디비값에 저장된 멤버의 순서(member_num)으로 하위 폴더를 만들어 구분하고 싶다면 File dir = new File(uploadPath + "/" + member.getMember_num()); // 폴더가 없을 경우 생성 if (!dir.exists()) { dir.mkdirs(); }


이렇게 되면 멤버 마다 다른 번호를 가지고 있다고 가정을 하면 매 계정마다 자기만의 폴더를 갖게 된다.


And