当前位置: 首页 > 知识库问答 >
问题:

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

华欣怡
2023-03-14

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

FileOutputStream fos=新的FileOutputStream(“sample.txt”);

并尝试加载样本。使用getClass()创建txt。getResourceAsStream(“sample.txt”)在另一个类中,它无法加载文件,而如果我在eclipse中刷新项目,它可以加载文件,getResourceStream是否缓存文件?,我需要的是动态创建文件并加载它们,并对它们执行一些操作,我是否遗漏了什么?

代码输入流是=getClass(). getClassLoader(). getResourceAsStream("sample.txt");//绝对路径

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

共有1个答案

国盛
2023-03-14

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

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

 类似资料:
  • 我试着使用设置并查看了所有选项,但“OK”按钮无法让我完成这个过程。知道吗? 更新:确定按钮现在启用,但填写完所有内容后,我按下确定,我在控制台收到一个不同的错误: [2013-07-22 11:04:45-SDK Manager]错误:null] 访问问题:Android SDK AVD错误:null

  • 我正试图在Jenkins管道中创建新文件,但出现了错误。错误:java。io。FileNotFoundException:/var/lib/jenkins/workspace/Pipeline-Groovy/test。txt(无此类文件或目录) 但当我在没有管道的情况下执行以下命令时,它会创建新文件 如果我在管道中使用相同的代码,则会出现上述错误

  • 在将glassfish升级到4版本并将hibernate升级到4.3.5之后,我在类加载方面遇到了一个奇怪的问题。 所以,我创造了这样的HQL: 选择新列表(s.id,s.name,s.serviceGroup.id,s.serviceGroup.name,count(t.id),sum(COALESCE(t.dealerFeeActual,0)t.sum))FROM GroupTransacti

  • 当我试图在eclipse中创建一个Maven项目(选择maven-archetype-quickstart,1.4版)时,我得到以下错误: 无法计算生成计划:插件org.apache.maven。插件:maven-resources-plugin:3.0.2或其依赖项之一无法解析:未能读取org.apache.maven的项目描述符。插件:maven-resources-plugin:3.0.2插

  • 我到处找答案,连续找了两个小时,结果就这么多了。救命?

  • 我编写了代码,但在构建它之后,我得到了以下内容: core-js@2.6.9 postinstall c:\users\admin\desktop\test code\angfirst\hello-world\node_modules\babel-runtime\node_modules\core-js node scripts/postinstall echo“ignore” core-js@2