从资源中获取文件名(带路径)

时间:2015-06-16 18:15:09

标签: java apache-camel

我用骆驼创造了一些路线。

我在资源文件夹中有一个文件,我只想要文件路径+名称。不是内容。

当我使用时:

from(URI)
 .log("resource:classpath:llave.txt")

我得到了llave.txt的内容,但我需要类似

的内容
  

C:\东西\ llave.txt

谢谢!

为了清晰起见进行编辑:我不需要来自文件端点的文件信息(也可以使用文件语言或交换机标题轻松获取该信息)。

我需要项目中资源文件夹中的文件信息。

2 个答案:

答案 0 :(得分:0)

获取文件:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("llave.txt").getFile());

获取路径:

//full path ( including the file ) 
String absolutePath = file.absolutePath();
// path only
String filePath = absolutePath.
    substring(0,absolutePath.lastIndexOf(File.separator));

答案 1 :(得分:0)

您可以使用Camel在调用File组件后设置的标头访问路径:

from(URI)
 .log("$simple{headers.CamelFileAbsolutePath}")

您可以在此处详细了解文件组件: http://camel.apache.org/file2.html