2017-11-28 2 views
0

java.net.DatagramPacket을 사용하여 트랜스 파일을 사용하고 있습니다. 나는에서 폴더 uri이 먼저 file.txt를 만들려면 어떻게해야합니까자바에서 체크 했는데도 파일 경로가 잘못되었습니다.

public void sendFile(InetAddress clientHost, int clientPort, String fileName) throws IOException { 
    String filePath = "e:\\uri\\" + fileName; 
    System.out.println(filePath); 
    FileInputStream inputFile = new FileInputStream(filePath); 
} 

아래의 일부 코드가 있습니다. 이 debuging 동안, 이것은 콘솔에 표시 것입니다 :

e:\uri\file.txt 
java.io.FileNotFoundException: Invalid file path 
    at java.io.FileInputStream.<init>(FileInputStream.java:133) 
    at java.io.FileInputStream.<init>(FileInputStream.java:93) 
    at MyFileServerSocket.sendFile(MyFileServerSocket.java:19) 
    at FiletransServer.main(FiletransServer.java:22) 

나는 내가 이클립스 fileName의 가치를 볼 수 있으며 이상한 것을 더 재미있는 무언가를 발견했다. enter image description here 거기에 여분의 따옴표가 있으며 콘솔에 인쇄 된 문자열은 정상입니다. 이유는 모르겠다.

답변

0

에 전달한 것으로 가정하면 sendFile(...)에 잘못된 문자가 있습니다. 철저하게 확인하고이 같은 하드 코드를 filePath 무언가를 시도하고 다시 시도해야하십시오 : 나는 잠시 동안 검색 좀하고 내가 발견

public void sendFile(InetAddress clientHost, int clientPort, String fileName) throws IOException { 
    // Hardcode file.txt 
    String filePath = "e:\\uri\\file.txt"; 

    // Print fileName surrounded with quoutes 
    System.out.printf("'%s'", fileName); 

    FileInputStream inputFile = new FileInputStream(filePath); 
} 
+0

이 난 바이트 [] like'String URI = 새로운 문자열에서 문자열을 구축하는 경우 (버퍼)'(나는 버퍼에서 datagramPacket으로부터 무엇인가를받습니다), 나는 문자열 주위에 작은 따옴표를 가질 것이고, 나는 왜 그런가? –

관련 문제