我想捕获一个特定的文件名,而我发现的最简单的方法是使用一个名为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()
。