我已将文件声明在同一文件夹中,但它给了我一个“文件NotFound Exeption”。文件名是正确的。如果我尝试使用其他方法访问文件信息,我会得到同样的错误。我是不知道为什么。这是一个逻辑错误。我是从网站http://www.vogella.com/articles/JavaIO/article.html>
了解到的。import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FilesC {
public static void main(String[] args)
{
String returnValue = "";
FileReader file = null;
String fileName = "test.txt";
try {
file = new FileReader(fileName);
BufferedReader reader = new BufferedReader(file);
String line = "";
while ((line = reader.readLine()) != null) {
returnValue += line + "\n";
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (file != null) {
try {
file.close();
} catch (IOException e) {
// Ignore issues during closing
}
}
}
}
}
谢谢它的工作,但还有一件事>我的文件中只有一行。当我对我的代码执行以下操作时
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FilesC {
public static void main(String[] args)
{
String returnValue = "";
FileReader file = null;
String fileName = "C:\\Users\\KingKong\\Desktop\\WorkSpace\\Victory\\src\\test.txt";
String line = "";
try {
file = new FileReader(fileName);
BufferedReader reader = new BufferedReader(file);
while ((line = reader.readLine()) != null) {
returnValue += line + "\n";
}
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (file != null) {
try {
file.close();
} catch (IOException e) {
// Ignore issues during closing
}
}
}
System.out.println(line);
System.out.println(returnValue);
}
}
它给了我输出:
null
myLine
这怎么可能。如果只有一行,那么行和returnValue必须具有相同的值?
答案 0 :(得分:0)
您的文件“test.txt”需要与编译.jar文件完全位于同一文件夹中。
我想不是。我比你更信任java: - )
确定,请尝试使用绝对路径
String fileName = "c:/mydir/test.txt"
答案 1 :(得分:0)
此循环中的最后一次迭代清除了该行:
while ((line = reader.readLine()) != null) {
returnValue += line + "\n";
}
答案 2 :(得分:0)
输出包含null,因为变量行包含null:
while ((line = reader.readLine()) != null) {
returnValue += line + "\n";
}
当while完成该行时将为null
答案 3 :(得分:-1)
如果您没有打开所请求文件所需的权限,则可能会抛出文件未找到异常。