파일에서 파일 이름을 추출하고 동일한 링크를 만드는 방법은 무엇입니까?
문제
내 문제는 ::
"/usr/folder1/folder2/filename.ext"와 같은 문자열에서
- 디스플레이에 대해서만 파일 이름을 추출해야합니다 (filename.ext 만 해당).
- 내 질문은 어떻게해야합니까? "/"를 나누고 마지막 요소를 취하는 것은 한 가지 방법이지만 나에게는 좋은 냄새가 나지 않습니다.
- 파일의 URI를 대상으로 사용하는 하이퍼 링크를 만들어야합니다. 그것은 파일과 유사한 것입니다 : //domain.com/usr/folder1/folder2/filename.ext
java.net에서 URI 및 URL 인터페이스를 보았지만 유용한 것을 찾을 수 없었습니다.
또한 경우에 따라 내 파일 경로에는 쉼표, 공간 등 (Windows 폴더)이있을 수 있습니다. 따라서 아이디어를 줄 때는 명심하십시오.
해결책
당신은 다음과 같은 것을 시도 할 수 있습니다 :
File file = new File("/usr/folder1/folder2/filename.ext");
System.out.println(file.getName());
파일이 존재하지 않으면 이것이 효과가 있을지 확신하지 못했지만 방금 시도했지만 잘 작동하는 것으로 보입니다.
다른 팁
상식 이 문제에 대한 솔루션을 제공합니다. FilenameUtils.getName()
, 파일 이름 + 확장자를 반환합니다.
String filename = FilenameUtils.getName("/usr/folder1/folder2/filename.ext");
System.out.println(filename); // Returns "filename.ext"
당신은 파일 클래스. 특히 getName () 방법.
제휴하지 않습니다 StackOverflow