我想捕获一个特定的文件名,而我发现的最简单的方法是使用一个名为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这样的奇怪字符

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

最佳答案

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

 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()

10-06 02:01