繁体   English   中英

getResourceStream无法在Eclipse中加载新创建的文件

[英]getResourceStream unable to load newly created file in eclipse

我正在使用File IO动态创建文件,

FileOutputStream fos = new FileOutputStream(“ sample.txt”);

并尝试在另一个类中使用getClass()。getResourceAsStream(“ sample.txt”)加载sample.txt,它无法加载文件,而如果我在eclipse中刷新项目,则可以加载文件, getResourceStream会缓存文件吗?,我需要动态创建文件并加载它们并对它们执行一些操作,我是否缺少某些东西?

代码InputStream是= getClass()。getClassLoader()。getResourceAsStream(“ sample.txt”); //绝对路径

PS:在构建路径中添加了新创建的文件

运行应用程序时,您将在源代码树中创建该文件(通常是/ src)。 但是您的bin文件夹是类路径(通常是/ bin)上的文件。 因为您是在eclipse之外创建文件的(在另一个Java进程中),所以只有在刷新工作空间时,才1)将其显示在eclipse的源文件夹中,然后2)构建器将其复制到bin文件夹中。

getResourceAsStream( )用于保证在类路径上的东西,例如,源树中的静态资源。 对于动态生成的文件,您需要查找或传递其他位置,而不要使用getResourceAsStream( )。

暂无
暂无

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

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