查找特定文件

时间:2014-03-25 19:02:11

标签: java

我希望捕获一个特定的文件名,我发现最简单的方法是使用一个名为JavaXT的类,基于官方网站(http://www.javaxt.com/javaxt-core/io/Directory/Recursive_Directory_Search)的例子我尝试在我的控制台应用程序中返回结果

javaxt.io.Directory directory = new javaxt.io.Directory("/temp");
javaxt.io.File[] files;

//Return a list of PDF documents found in the current directory and in any subdirectories
files = directory.getFiles("*.pdf", true);

System.out.println(files);

但返回的值总是奇怪的字符,如[Ljavaxt.io.File;@5266db4e

有人可以帮我打印正确的文件名吗?

2 个答案:

答案 0 :(得分:1)

您的files变量是一个数组。你需要

for(javaxt.io.File f:files) System.out.println(f);

因为files是一个数组,Java将打印数组类型和十六进制哈希码。

答案 1 :(得分:1)

当您尝试打印数组时,您得到的是哈希码。如果您想要将其可视化,请尝试此操作:

 Integer[] a = { 1, 2, 3 };
 System.out.println(a);

输出将是

[Ljava.lang.Integer;@3244331c

如果要逐个元素打印,可以遍历数组。在这种情况下,使用for-each

for (javaxt.io.File f : files)
    System.out.println(f);

注意,这将打印对象的方法String返回的toString()