2011-07-26 20 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

ファイルは次の2つの方法で指定できます。例えば、例えば

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

または相対、絶対

String fileName3 = "myfile.txt"; 

いずれかの相対パスを使用している場合、パスは、Javaの現在の作業ディレクトリに対して相対的です。あなたはファイルを ""取得することによってこれを見つけることができます。絶対パスを準備します。

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

ファイル名の文字列である私はあなたに問題があると思いますファイルを正しい場所に置く