큰 코드 조각에 기능을 추가하려고하는데 파일 구분 기호에 이상한 문제가 있습니다. 다음 코드에서 파일을 읽을 때 내 PC에서 작동하지만 Linux 서버에서는 실패합니다. PC에 나는이를 통과하고 그것을 작동하는 경우 :File.separator가 잘못된 문자를 사용하는 이유는 무엇입니까?
fileName = "C:\\Test\\Test.txt";
하지만 서버에 내가 이것을 통과 얻을 때 "파일을 찾을 수 없음"으로 인해 "\"에 대한 "/"스왑 아래의 BufferedReader /을 FileReader 문 :
찾을 수 없음fileName: /opt/Test/Test.txt
파일 : java.io.FileNotFoundException : \ 옵트 \ 테스트 \ TEST.TXT (시스템 리눅스 서버에서 실행할 때
fileName = "/opt/Test/Test.txt"; System.out.println("fileName: "+fileName); reader = new BufferedReader(new FileReader(new File(fileName)));
이 출력을 생성합니다 지정된 경로를) 찾을 수 없습니다
나는 시도하고 켜져있는 것처럼의 BufferedReader /을 FileReader 라인은 행동의 원인이되는, 그것은 예상 다르게 동작으로 더 큰 코드 소스에 이렇게 뭔가를 복제하는 간단한 Test.java 파일을 만들 때 리눅스 박스가 아닌 PC. 그게 어떤 아이디어일까요?
나는 것을 ... 또는 오히려 시도 \ "리눅스 서버에서 잘못되었습니다. 비록 그것없이, BufferedReader/FileReader 작업은 파일을 찾기 위해 시도하기 전에 적절한 구분 기호로 파일을 가져 와서 "\"로 바꾸는 것으로 보이고 구분 기호가 잘못되어 실패합니다. – user2137130
웹 시작 클라이언트로 코드를 실행 중이므로 PC에서 클라이언트를 실행하고 있으므로 "\"가 올바른 파일 구분 기호이기 때문에 이것이 나타납니다. 서버의 파일에 액세스하려고 시도하고 있으므로 그렇게 정의 된 메서드를 통해 수행해야합니다. – user2137130