2011-04-18 2 views
0

Java 응용 프로그램에서 JFileChooser를 사용하여 경로를 선택해야합니다. 다음과 같이 내가 작성한 코드입니다 : 내가 경로 properly.For 예를 얻고있다운영 체제에 따라 JFileChooser를 사용하여 Java에서 올바른 경로를 얻는 방법

jfChooser = new JFileChooser(); 

jfChooser.setCurrentDirectory(new java.io.File(".")); 

jfChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
if (jfChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { 
System.out.println("getCurrentDirectory(): "+ jfChooser.getCurrentDirectory()); 
System.out.println("getSelectedFile() : "+ jfChooser.getSelectedFile()); 
tfPath.setText(jfChooser.getSelectedFile().getAbsolutePath()); // the selected path set to textfield which is lated get by the program 
} 
else { 
System.out.println("No Selection "); 
} 

을, 여기에 내가

String choosedPath=tfPath.getText().trimm(); 

(윈도우 OS의) 경로를 얻고 지금 실제로 내가 원하는 주어진 경로 (예 : newfolder 디렉토리 내부)에 프로그래밍 방식으로 다른 디렉토리를 만듭니다. 다음과 같이 문자열이 디렉토리를 생성하는 생성자를 파일에 전달 그래서 나는 새 디렉토리 이름 "NEWDIR"가 그 내용은

은 다음과 같습니다

File createFolder = new File("choosedPath"+"\\"+"newdir"); 

이제 문제는 내 응용 프로그램 창에서 실행하거나 실행할 수 있다는 것이다 리눅스의 경우 파일 경로 분리자가 다릅니다 (즉, 윈도우의 경우 '/', Linux의 경우 '\').

OS에 따라 경로에서 프로퍼티 슬래시를 얻으려면 어떻게해야합니까?

+0

[형식화 샌드 박스] (http://meta.stackexchange.com/questions/3122/formatting-sandbox)를 확인하고 다음 질문에 대한 코드의 형식을 지정하는 방법을 알아야합니다 – justkt

+0

@ justkt- Ok 친구 –

+0

Java에서는 Windows 파일 경로에 슬래시를 사용할 수 있으며 java가 처리합니다. 다른 사람들이 말한 것처럼 File.Seperator는 올바른 OS agnositc 솔루션입니다. 당신은 도처에 슬래시를 사용하여 도망 갈 수 있습니다. – Jberg

답변

5

new File(choosedPath, "newDir");

플랫폼 종속 파일 분리거야 자동으로 선택 될 수있다.

File.separator을 사용하면 플랫폼 종속 구분 기호를 사용하여 문자열을 구성 할 수 있지만 첫 번째 해결 방법보다 더 많은 코드로 끝납니다.

관련 문제