最好的方法是将其放在您的类路径中,然后再将getResource()
package com.sandbox;import org.apache.commons.io.FileUtils;import java.io.File;import java.io.IOException;import java.net.URISyntaxException;import java.net.URL;public class Sandbox { public static void main(String[] args) throws URISyntaxException, IOException { new Sandbox().run(); } private void run() throws URISyntaxException, IOException { URL resource = Sandbox.class.getResource("/my.txt"); File file = new File(resource.toURI()); String s = FileUtils.readFileToString(file); System.out.println(s); }}我这样做是因为我假设您需要一个
File。但是,如果您的API带有一个
InputStream代替,则最好使用
getResourceAsStream代替。
注意路径
/my.txt。这意味着,“获取一个名为my.txt的文件,该文件位于类路径的根目录中”。我相信您可以阅读更多有关的信息,
getResource并
getResourceAsStream了解更多有关如何执行此操作的信息。但是这里的关键是,
文件的类路径对于您将可执行文件提供给任何计算机 (只要您不在类路径中移动文件)都相同。
顺便说一句,如果在行上获得空指针异常,则
new File意味着您没有为文件指定正确的类路径。



