繁体   English   中英

在Java Web Project中放置文件的位置?

[英]Where to place a file within a Java Web Project?

我有一个小的java程序,它读取一个文件,在eclipse中我有主项目目录中的文件,类文件在src目录中。 这很好用。

我希望你在我正在进行的一个web项目中的这一小段代码,目前我在src / tools /中有类文件,但我丢失了放置文件的位置?

我已经在一些地方尝试了它但它抛出了找不到的文件。

存储此文件的最佳位置在哪里? 以及如何在使用以下代码时确保我有正确的路径?

FileInputStream fstream = new FileInputStream("file.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));

您需要将文件作为资源加载(例如, getResourceAsStream() ,使用相对于app的路径( getRealPath() ),或者将其放在绝对位置并使用完整路径。

如果您将资源文件放在类路径的根目录中(因此,如果您的java文件的源路径是src / main / java,那么将资源文件放在那里),那么您可以这样做。

BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("myresource.txt")));

现在如果你想要你可以将它放在一个包中,那么该文件将在src / main / java / com / sksamuel中

BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("com/sksamuel/myresource.txt")));

最后,如果您正在使用maven或类似的东西,那么您将文件放入src / main / resources而不是src / main / java,并且在编译时将两个路径组合在一起,因此您将使用相同的代码以上。

我的回答是假设该文件将与您的Java代码打包在一起,并且会被开发人员改变。 如果它是生成的,或者需要在jar / war之外进行更改,那么这不是最好的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM