내 응용 프로그램에서 예외가 발생합니다. java.io.FileNotFoundException : 잘못된 파일 경로입니다. 이유를 모르겠다. 주제에 대한 질문과 답변을 읽었으나 아무도 나를 도울 수 없습니다. 제 (에서 금지 된 문자를 제거 \ 사용자 LIPI \ CosmicLd.rdp잘못된 파일 경로 예외
toValidFilename을 (\)된다
String userhome = System.getProperty("user.home");
String filename = null;
File rdp = null;
for (int item = 0; item < darab; item++) {
filename = toValidFileName(ProgramList.get(item).getP_name());
filename += ".rdp";
rdp = new File(userhome, filename);
try {
JFrame panel;
panel = new JFrame();
panel.setSize(400, 10);
panel.setLocation(300, 400);
panel.setTitle("Saving " + rdp.getAbsolutePath());
try (FileOutputStream fstr = new FileOutputStream(rdp)) {
panel.setVisible(true);
char c;
for (int j = 0; j < 2336; j++) {
c = ProgramList.get(item).p_body.charAt(j);
fstr.write(c);
}
fstr.flush();
fstr.close();
panel.setVisible(false);
}
} catch (IOException ioe) {
JOptionPane.showMessageDialog(this,
ioe.getMessage(), "Save rdp file", JOptionPane.ERROR_MESSAGE);
System.err.println(ioe.getMessage() + " : "+ rdp.getAbsoluteFile());
}
}
그리고 결과 : 잘못된 파일 경로 : C 여기
코드입니다 KORG RADIAS) 프로그램 이름을 사용하여 유효한 파일 이름을 만듭니다.내가 대상 디렉토리는 사용자가 필요한 privilegs를 가지고 읽을 수 없습니다입니다 내 잘못 :( 를 찾을 수없는 한 나는 줄 뒤에()를 file.canWrite을 볼 때 :. RDP = 새로운 파일 (USERHOME, 파일 이름) 그것의 항상 false 내가 무슨 짓을 잘못 감사
파일 선택기로 파일을 선택하면 작업이됩니다. –
스택 추적 및 toValidFileName 코드를 게시 하시겠습니까? – efekctive
동일한 파일을 파일 선택기로 선택하고 파일 이름을 인쇄하십시오. 실패한 이름과 이름을 비교하십시오. 공백을주의하십시오. – Arkadiy