2013-06-10 1 views
0

파일 경로를 파싱하여 파일 이름을 가져와야합니다. 나를 혼란스럽게하는 것은 windows가 \을 delimeter로 사용하고 linux-/을 사용한다는 것과 어떤 식 으로든 제공된 파일 경로는 동시에 두 delimeter를 포함 할 수 있다는 것이다.Java : 파일 경로 구문 분석

int slash = filePath.lastIndexOf("/"); 
int backslash = filePath.lastIndexOf("\\"); 
fileName = filePath.substring(slash > backslash ? slash : backslash); 

을하지만 더 구분이 경우에 더 나은 방법이있다 : 물론

내가 할 수 있습니까? (아마 파일 경로)

+2

'파일 f = 새 파일 (fileName); String name = f.getName();' –

답변

7

는 그냥 File 클래스를 사용

String fileName = new File(path).getName(); 

그것은 앞으로 뒤로 슬래시, 플러스 두 가지의 조합을 처리합니다.

0

당신은

String separator =System.getProperty("path.separator"); 

당신에게 시스템 분리를 얻을 수 있습니다.

+1

두 구분 기호가 동시에있을 수 있으므로이 작업은 수행되지 않습니다. – svz