我创建了一些基本代码,通过FilenameFilter在文件夹中查找某种类型的文件。它成功完成但我无法将找到的匹配返回到字符串中。想知道我做错了什么?
public static void renameFilesInConfFolder() {
File dir = new File(directory+"\\conf");
File[] matches = dir.listFiles(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
return (name.contains("ods2-conf") && name.length()>13 && !name.contains("oracle"));
}
});
String match = matches.toString().replace("[", "").replace("]", "");
return;
}
编辑:所以我删除了VOID并将其更新为公共字符串,返回类型为匹配,但是会出现同样的问题:
更新的代码:
public static String renameFilesInConfFolder() {
File dir = new File(directory+"\\conf");
File[] matches = dir.listFiles(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
return (name.contains("ods2-conf") && name.length()>13 && !name.contains("oracle"));
}
});
String match = matches.toString().replace("[", "").replace("]", "");
return match;
}
目前匹配是:
并[c:\位置\ newfile.txt]
当我matches.toString()
匹配时最终成为:
Ljava.io.File; @ 42906563
答案 0 :(得分:1)
$(function () {
$("#AddressCheckBox").on('click', function() {
if ($("#AddressCheckBox").is(":checked")) {
$('.mailing-address input').each(function(index, element) {
var duplicateId = '#D' + $(element).attr('id'),
$dupElement = $(duplicateId);
if($dupElement.length == 1) {
$dupElement.val($(element).val());
}
});
} else {
$('.delivery-address input').val('');
}
});
});
是一个数组,在数组上调用matches
将给出错误的表示。您需要迭代数组以获取字符串值
toString
答案 1 :(得分:0)
您需要使用Arrays.toString(...)
。见here。问题是你在一个数组上调用.toString()
,而数组并没有像你期望的那样覆盖toString()
方法,所以它只是打印一些在记忆中的位置。
更改此行:
String match = matches.toString().replace("[", "").replace("]", "");
到此:
String match = Arrays.toString(matches).replace("[", "").replace("]", "");