我正在尝试读取java中的文件。以下是代码。文件读取问题
String str = ".\\SomeFileName";
File file = new File(str);
InputStream is = new FileInputStream(file.getPath());
FileNotFoundException在最后一行中被抛出。有人可以帮忙吗?
我正在尝试读取java中的文件。以下是代码。文件读取问题
String str = ".\\SomeFileName";
File file = new File(str);
InputStream is = new FileInputStream(file.getPath());
FileNotFoundException在最后一行中被抛出。有人可以帮忙吗?
您需要确定您当前的工作目录。您可以通过以下方式找出当前工作目录:
String curDir = System.getProperty("user.dir");
您可以用两种方式指定文件;无论是绝对的,如
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());
尝试通过给绝对路径...完整的目录路径。
File file = new File("C:\\abc.txt");
然后再测试一下。 STR是有一个字符串文件名
File file = new File(str);
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
下面的程序工作正常,请首先运行它只是取消对注释声明和评论的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(); } } }
我认为你有问题将该文件放在正确的位置
该文件在哪里以及您从哪里调用此代码? –
首先它在本地C目录中,我认为可能存在一些问题,所以我放在当前目录中。 –
另外,你是否尝试使用正斜杠(或在这种情况下,根本没有点斜线)? –