执行程序时,我收到FileNotFoundException
java.io.FileNotFoundException: Shyam\src\sam\examles\TextFile.txt (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sam.examples.ReadingFile.main(ReadingFile.java:9)
下面是我的java程序ReadingFile.java
package sam.examples;
import java.io.*;
public class ReadingFile {
public static void main(String[] args) {
try {
FileInputStream fstream = new FileInputStream("C:\\Documents and Settings\flower\workspace\Shyam\src\sam\examples\TextFile.txt");
DataInputStream dis = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String str;
while ((str = br.readLine()) != null) {
System.err.println(str);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
该文件与我的java程序所在的路径相同,如下所示
Shyam
|- src
|-sam.examples
|-ReadingFile.java
|-TextFile.txt
请帮助我们解决这个问题
答案 0 :(得分:2)
您可能需要转义文件路径中的反斜杠。你已经完成了第一个而不是其他的。
FileInputStream fstream = new FileInputStream("C:\\Documents and Settings\\flower\\workspace\\Shyam\\src\\sam\\examples\\TextFile.txt");
答案 1 :(得分:2)
您的例外情况表明您指定的路径不同。使用整个绝对路径(如您在代码中所示,但可能没有执行),或使用类路径资源。
getClass().getResourceAsStream("Text.txt")
。这将查找当前类所在的包中的文件。您还可以使用类路径绝对路径,例如.getResourceAsStream("/sam/examples/TextFile.txt")
答案 2 :(得分:1)
调试提示:
重构这一行:
FileInputStream fstream = new FileInputStream("C:\\Documents and Settings\flower\workspace\Shyam\src\sam\examples\TextFile.txt");
到
File file = new File("C:\\Documents and Settings\flower\workspace\Shyam\src\sam\examples\TextFile.txt");
System.out.println(file.getAbsolutePath());
FileInputStream fstream = new FileInputStream(file);
然后看看输出是否真的是那个文件。
答案 3 :(得分:0)
您永远不需要在Java中的文件名中使用反斜杠。将它们全部更改为正斜杠并摆脱双重斜杠。
答案 4 :(得分:0)
尝试这些..
FileInputStream fstream = new FileInputStream(新文件(&#34; C:\ Documents and Settings \ flower \ workspace \ Shyam \ src \ sam \ examples \ TextFile.txt&#34;));
或
FileReader fstream = new FileReader(new File(&#34; C:\ Documents and Settings \ flower \ workspace \ Shyam \ src \ sam \ examples \ TextFile.txt&#34;));
BufferedReader in = new BufferedReader(fstream);