Eclipse 从资源中读取文件 NullPointerException
Eclipse Reading File From Resource NullPointerException
我是新手,请不要打我太重。我一直在尝试解决这个问题大约 2 天,现在阅读帖子和博客,但我不断收到 NullPointerException 错误,我无法弄清楚为什么它无法访问文件。下面我展示了我的文件夹的布局,我尝试了多种将资源文件夹放在 src 文件夹内或外部的方法,但我仍然遇到相同的错误。
这是我正在使用的代码。
package com;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
public class ClasspathFileReader
{
public static void main(String[] args) throws IOException
{
String fileName = "resource/SrcPath.txt";
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
File file = new File(classLoader.getResource(fileName).getFile());
//Read File Content
String content = new String(Files.readAllBytes(file.toPath()));
System.out.println(content);
}
}
堆栈跟踪:
Exception in thread "main" java.lang.NullPointerException
at com.ClasspathFileReader.main(ClasspathFileReader.java:14)
根据屏幕截图,您的文件 (SrcPath
) 没有以 .txt
扩展名结尾。试一试。
使用 classloader 你的文件应该在你的 class 文件夹中,即 src。将你的 SrcPath.txt 放在 src 文件夹中,它将正常工作。
我对你的代码有两条评论:
正如@yilmaz 所指出的,将文件重命名为 SrcPath.txt
。只需使用 eclipse
中的 rename
选项。
getResource() 搜索与您的 .class
文件相关的 file
。因此,在您的 src
文件夹中创建一个包 resource
并在此处保存您的 SrcPath.txt
文件。
我是新手,请不要打我太重。我一直在尝试解决这个问题大约 2 天,现在阅读帖子和博客,但我不断收到 NullPointerException 错误,我无法弄清楚为什么它无法访问文件。下面我展示了我的文件夹的布局,我尝试了多种将资源文件夹放在 src 文件夹内或外部的方法,但我仍然遇到相同的错误。
这是我正在使用的代码。
package com;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
public class ClasspathFileReader
{
public static void main(String[] args) throws IOException
{
String fileName = "resource/SrcPath.txt";
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
File file = new File(classLoader.getResource(fileName).getFile());
//Read File Content
String content = new String(Files.readAllBytes(file.toPath()));
System.out.println(content);
}
}
堆栈跟踪:
Exception in thread "main" java.lang.NullPointerException
at com.ClasspathFileReader.main(ClasspathFileReader.java:14)
根据屏幕截图,您的文件 (SrcPath
) 没有以 .txt
扩展名结尾。试一试。
使用 classloader 你的文件应该在你的 class 文件夹中,即 src。将你的 SrcPath.txt 放在 src 文件夹中,它将正常工作。
我对你的代码有两条评论:
正如@yilmaz 所指出的,将文件重命名为
SrcPath.txt
。只需使用eclipse
中的rename
选项。getResource() 搜索与您的
.class
文件相关的file
。因此,在您的src
文件夹中创建一个包resource
并在此处保存您的SrcPath.txt
文件。