我正在尝试用java读取文件。以下是代码。
String str = ".\\SomeFileName";
File file = new File(str);
InputStream is = new FileInputStream(file.getPath());
最后一行抛出FileNotFoundException。有人可以帮忙吗?
答案 0 :(得分:2)
您需要确定当前的工作目录。你可以用这个找出你当前的工作目录:
String curDir = System.getProperty("user.dir");
答案 1 :(得分: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());
答案 2 :(得分:0)
尝试给出绝对路径...完整目录路径。
File file = new File("C:\\abc.txt");
然后再测试一下。 str是一个文件名为
的字符串File file = new File(str);
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
答案 3 :(得分: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(); } } }
我认为你把文件放在正确的位置有问题