2011-07-26 5 views
0

java에서 파일을 읽으려고합니다. 다음은 코드입니다.파일 읽기 문제

String str = ".\\SomeFileName"; 

    File file = new File(str); 

    InputStream is = new FileInputStream(file.getPath()); 

마지막 줄에는 FileNotFoundException이 발생합니다. 어떤 사람이 도울 수 있습니까?

+3

이 코드를 호출하는 파일의 위치는 어디입니까? –

+0

처음에는 로컬 C 디렉토리에 있었고 몇 가지 문제가있을 수 있다고 생각하여 현재 디렉토리에 넣었습니다. –

+0

또한 슬래시 (또는이 경우 슬래시를 사용하지 마십시오)를 사용해 보셨습니까? –

답변

2

현재 작업 디렉토리를 결정해야합니다. 다음과 같이 현재 작업 디렉토리를 파악할 수 있습니다.

String curDir = System.getProperty("user.dir"); 
0

두 가지 방법으로 파일을 지정할 수 있습니다. 중 절대, 예를 들어

String fileName1 = "c:\temp\myfile.txt"; \\For Windows 
String fileName2 = "/home/qwerky/myfile.txt"; \\For Linux 

또는 상대, 예를 들어

String fileName3 = "myfile.txt"; 

당신이 상대 경로를 사용하는 경우, 다음 경로가 자바의 현재 작업 디렉토리에 상대적입니다. 파일을 가져 와서 찾을 수 있습니다. " 그리고 절대 경로를 priting.

File cwd = new File("."); 
System.out.println("Current working directory is " + cwd.getAbsolutePath()); 
0

절대 경로 지정 ... 전체 디렉토리 경로.

File file = new File("C:\\abc.txt"); 

이 또한 테스트합니다. STR 문자열은 주석 문을 주석을 해제하고 난 당신이 문제가 생각하는 InputStreamReader 문을

 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.PrintStream; 

public class FileRead { 
public static void main(String args[]){ 
    try{ 
     //String str = ".\\SomeFileName"; 

      File file = new File(".\\file.csv"); 

      // FileWriter writer=new FileWriter(file); 
      //writer.write("it can writer"); 
      //writer.flush(); 

      InputStream is = new FileInputStream(file.getPath()); 
      BufferedReader br=new BufferedReader(new InputStreamReader(is)); 
      System.out.println(br.readLine()); 


    }catch(Exception e){ 
     e.printStackTrace(); 
    } 


} 
} 

을 언급

File file = new File(str); 
String absolutePath = file.getAbsolutePath(); 
System.out.println(absolutePath); 
0
아래 프로그램이 잘 작동

, 첫번째로 실행하십시오 파일 이름을 가지고있다 올바른 위치에 파일 놓기