2013-03-08 1 views
2

때문에 폴더간에 \를 반환하는 System.getenv ("APPDATA")를 사용해 보았습니다. FileOutPutStream이이를 처리하지 않으므로 \을 어떻게 변환 할 수 있습니까?Java 파일 오류

감사

답변

4

당신이 \를 사용해야 할 때마다,이 쓰기 : \\. 즉, \ 문자 자체가 이스케이프 문자이므로 이스케이프해야합니다. 이스케이프 처리해야합니다.

또는 파일 경로가 하나만있는 /을 사용할 수도 있습니다. 어떤 플랫폼 (Windows, Linux, Mac 등)에서 작동하는지는 중요하지 않습니다.

질문으로 돌아 가기 : 이상하게 들리며 getenv에 의해 반환 된 문자열은 이미 \ 문자를 이스케이프 처리하고 있습니다. 의 대신 File 걸리는 constructor 사용 해보자 :

FileOutputStream fos = new FileOutputStream(new File(System.getenv("APPDATA"))); 
+0

정말로'/'를 사용하고 싶다면 다음과 같이하면된다 :'System.getenv ("APPDATA"). replace ('\', '/')' –

+1

고마워! 나는 이것을 나의 프로그램에 사용할 것이다. – Mad3ngineer

0
File f = new File(System.getenv("APPDATA")); 
System.out.println(f.getAbsolutePath()); 

그런 다음 새 FileOutputStream에 (F)를 구성 할 수 있습니다;