【发布时间】:2016-03-15 16:13:35
【问题描述】:
根目录名为CopyFile,有目录files和src。文件具有文本文件 loremipsum.txt。 src 有 com/example/java/Main.java
这是 Main.java 中的代码
package com.example.java;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
public class Main {
public static void main(String[] args) {
String sourceFile = "files/loremipsum.txt";
String targetFile = "files/target.txt";
try (FileReader fReader = new FileReader(sourceFile);
BufferedReader bReader = new BufferedReader(fReader);
FileWriter writer = new FileWriter(targetFile)){
while (true){
String line = bReader.readLine();
if (line == null) {
break;
} else{
writer.write(line + "\n");
}
}
System.out.println("File Copied!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下是错误:
java.io.FileNotFoundException: files/loremipsum.txt (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at java.io.FileReader.<init>(FileReader.java:58)
at com.example.java.Main.main(Main.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
进程以退出代码 0 结束
【问题讨论】:
-
这意味着文件
files/loremipsum.txt不存在 -
但它在目录中? .... java 在哪里寻找?我什至用 Main.java 目录中的文本文件创建了一个名为 files 的文件夹,但也没有用
-
最近java变了吗?现在在
try语句之后将代码放在括号中是否合法?这段代码如何编译? -
您可以尝试
new File("/files/loremipsum.txt").getAbsolutePath();获取完整路径 -
@DroidGamer 您运行程序时的当前工作目录是什么?它可能不是你想象的那样。
标签: java filereader