从/ src / main / resources /读取文件
您好我正在尝试执行Web应用程序并遇到问题:我不知道如何使用保存在资源文件夹中的Java打开文本文件:
String relativeWebPath ="/src/main/resources/words.txt"; //Import der des Textdoumentes String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath); File f = new File(absoluteDiskPath);
(文件words.txt)
正如您在图像上看到的那样,我正在尝试访问words.txt,但它无法正常工作。 有任何想法吗?
尝试这个。
InputStream is = getClass().getClassLoader() .getResourceAsStream("/words.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(is));
为了最佳实践,并避免这些问题,请将文本文件( words.txt
)放入WEB_INF文件夹(这是资源的安全文件夹)。 然后:
ServletContext context = getContext(); InputStream resourceContent = context.getResourceAsStream("/WEB-INF/words.txt");
参考: https : //stackoverflow.com/a/4342095/3728901
使用此代码查找要打开的文件的路径。
import java.net.URL; [...] URL url = this.getClass().getResource("/words.txt"); String absoluteDiskPath = url.getPath();