无法将File []位置作为Java中的字符串返回

时间:2015-10-30 12:21:39

标签: java

我创建了一些基本代码,通过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

2 个答案:

答案 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("]", "");