如何从InputStream获取Java文件的绝对路径?

用户名

我使用Java 6,并且有一种方法可以扫描运行时类路径中名为的文件config.xml如果找到,我想将文件的内容读取为字符串:

InputStream istream = this.getClass().getClassLoader().getResourceAsStream("config.xml");
if(istream != null) {
    System.out.println("Found config.xml!");

    StringBuffer fileData = new StringBuffer(1000);
    BufferedReader reader;
    try {
        reader = new BufferedReader(new FileReader(fileName));
        char[] buf = new char[1024];
        int numRead = 0;
        while((numRead=reader.read(buf)) != -1) {
            String readData = String.valueOf(buf, 0, numRead);
            fileData.append(readData);
            buf = new char[1024];
            reader.close();
        }
    } catch (FileNotFoundException fnfExc) {
        throw new RuntimeException("FileNotFoundException: " + fnfExc.getMessage());
    } catch (IOException ioExc) {
        throw new RuntimeException("IOException: " + ioExc.getMessage());
    }
}

运行此代码时,将获得以下控制台输出:

Found config.xml!
Exception in thread "main" java.lang.RuntimeException: FileNotFoundException: config.xml (No such file or directory)
    at com.me.myapp.Configurator.readConfigFileFromClasspath(Configurator.java:556)
    at com.me.myapp.Configurator.<init>(Configurator.java:34)
    ...rest of stack trace omitted for brevity

因此,config.xml成功进行类路径扫描,但随后读者似乎无法找到该文件。为什么???我唯一的理论是,当config.xml在类路径上找到它时,它不包含文件在文件系统上的位置的绝对路径,也许这就是读者代码正在寻找的东西。

陀螺仪无齿轮

从您给出的示例,尚不清楚所指的fileName什么您应该只使用从中获得的流getResourceAsStream()来读取文件,

reader = new BufferedReader(new InputStreamReader(istream));

并且您应该避免buf一次就足够为每个读取周期重复分配new。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取文件的绝对路径

来自分类Dev

如何使用Delphi获取INI文件的绝对路径?

来自分类Dev

Python:如何获取调用函数的文件的绝对路径?

来自分类Dev

拷贝文件时如何获取拷贝的绝对路径?

来自分类Dev

获取文件的绝对路径

来自分类Dev

如何在Java中获取绝对路径

来自分类Dev

如何使用绝对路径从Java运行Python文件?

来自分类Dev

MSBuild:给定绝对路径,如何获取文件的相对路径?

来自分类Dev

获取类路径上文件的绝对路径

来自分类Dev

如何使用jfilechooser从Java中的文件名数组中获取多个文件选择的绝对路径

来自分类Dev

如何确定文件路径是否为绝对路径?

来自分类Dev

如何在PowerShell中基于相对路径或绝对路径获取绝对路径?

来自分类Dev

获取调用者文件的绝对路径

来自分类Dev

获取MSTest Out文件夹的绝对路径

来自分类Dev

使用'find'命令获取文件的绝对路径

来自分类Dev

获取文件OS X的绝对路径

来自分类Dev

给定文件名获取其绝对路径

来自分类Dev

使用JavaScript在MVC中获取文件的绝对路径

来自分类Dev

获取调用函数的文件的绝对路径

来自分类Dev

如何获取具有绝对路径的文件的InputStream并将其添加到StreamedContent对象,以便在ap:fileDownload中使用它?

来自分类Dev

如何使用文件的绝对路径打开文件?

来自分类Dev

获取Java中“ Web内容”文件夹的绝对路径

来自分类Dev

如何在Android中获取视图的绝对路径?

来自分类Dev

如何从android目录URI获取绝对路径

来自分类Dev

如何在Symfony2控制器中获取文件的绝对路径?

来自分类Dev

如何在Symfony2中获取文件的绝对路径?

来自分类Dev

编写bash脚本时,如何获取当前文件位置的绝对路径?

来自分类Dev

如何获取在git commit中已更改但具有绝对路径的文件的列表?

来自分类Dev

编写bash脚本时,如何获取当前文件位置的绝对路径?

Related 相关文章

  1. 1

    如何获取文件的绝对路径

  2. 2

    如何使用Delphi获取INI文件的绝对路径?

  3. 3

    Python:如何获取调用函数的文件的绝对路径?

  4. 4

    拷贝文件时如何获取拷贝的绝对路径?

  5. 5

    获取文件的绝对路径

  6. 6

    如何在Java中获取绝对路径

  7. 7

    如何使用绝对路径从Java运行Python文件?

  8. 8

    MSBuild:给定绝对路径,如何获取文件的相对路径?

  9. 9

    获取类路径上文件的绝对路径

  10. 10

    如何使用jfilechooser从Java中的文件名数组中获取多个文件选择的绝对路径

  11. 11

    如何确定文件路径是否为绝对路径?

  12. 12

    如何在PowerShell中基于相对路径或绝对路径获取绝对路径?

  13. 13

    获取调用者文件的绝对路径

  14. 14

    获取MSTest Out文件夹的绝对路径

  15. 15

    使用'find'命令获取文件的绝对路径

  16. 16

    获取文件OS X的绝对路径

  17. 17

    给定文件名获取其绝对路径

  18. 18

    使用JavaScript在MVC中获取文件的绝对路径

  19. 19

    获取调用函数的文件的绝对路径

  20. 20

    如何获取具有绝对路径的文件的InputStream并将其添加到StreamedContent对象,以便在ap:fileDownload中使用它?

  21. 21

    如何使用文件的绝对路径打开文件?

  22. 22

    获取Java中“ Web内容”文件夹的绝对路径

  23. 23

    如何在Android中获取视图的绝对路径?

  24. 24

    如何从android目录URI获取绝对路径

  25. 25

    如何在Symfony2控制器中获取文件的绝对路径?

  26. 26

    如何在Symfony2中获取文件的绝对路径?

  27. 27

    编写bash脚本时,如何获取当前文件位置的绝对路径?

  28. 28

    如何获取在git commit中已更改但具有绝对路径的文件的列表?

  29. 29

    编写bash脚本时,如何获取当前文件位置的绝对路径?

热门标签

归档