2012-12-01 3 views
3

파일이 디렉토리에 aa.txt됩니다 /home/user 내가 쓴 코드는fedora에서 netbeans 7.2를 사용하여 Java 프로젝트의 파일에서 입력을 읽는 방법?

input=new FileInputStream("//home//user//aa.txt"); 

을하지만 프로그램이 파일을 열 수 없습니다. 내가 창문에서 실행할 때, 작동한다. 페도라에서 프로그램에 의해 정확하게 읽혀지는 경로의 형식은 무엇입니까 ???

+0

슬래시 /home/user/aa.txt를 사용하여 해결되었습니다. –

답변

1

는 이스케이프 문자로 사용됩니다 (예를 \n = 새로운 라인 \t = tab) \\을 작성하여이 문자를 문자열에 배치 할 때 \을 의미해야합니다.

이 문제는 슬래시가 포함되어 있지 않습니다. / Linux 디렉토리의 경우 슬래시 /이 사용됩니다. windows는 백 슬래시를 사용합니다. OS 독립적 코드를 작성하는 것은 어려울 수 있지만 문제는 아닙니다. 파일을 처리 할 때 슬래시를 사용하면 Java가 자동으로 올바른 OS 고유 형식으로 변환합니다.

예를 들어 C:/Users/Owner/Documents은 windows에서 C:\Users\Owner\Documents이됩니다. 또는 "C:\\Users\\Owner\\Documents"으로 작성할 수 있지만 단순 슬래시 형식이 더 단순 해 보입니다.

0

/ (슬래시) 문자를 이스케이프 할 필요가 없습니다. 대신 File.separator를 사용하는 것이 훨씬 현명하다, 그러나

input=new FileInputStream("/home/user/aa.txt"); 

:

그래서 당신은 기본적으로이 필요 \ 이후

input=new FileInputStream(File.separator+"home"+File.separator+"user"+File.separator+"aa.txt"); 
관련 문제