2011-07-26 144 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"; 

如果您使用的是相对路径,那么路径是相对于Java的当前工作目录。你可以通过获取文件“。”来找到它。并推动绝对路径。

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

尝试通过给绝对路径...完整的目录路径。

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

然后再测试一下。 STR是有一个字符串文件名

File file = new File(str); 
String absolutePath = file.getAbsolutePath(); 
System.out.println(absolutePath); 
0

下面的程序工作正常,请首先运行它只是取消对注释声明和评论的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(); 
    } 


} 
} 

我认为你有问题将该文件放在正确的位置