Java目录搜索 - 文本文件编写器 - 仅显示1个结果

时间:2017-01-14 12:32:19

标签: java directory filewriter

嘿所以我现在遇到了这段代码的问题:[这里有更多的代码,但这是我需要帮助的块]

//add a zoom change listener, so you can resize the icon based on the zoom level
google.maps.event.addListener(map, 'zoom_changed', function() {

    var zoom = map.getZoom();
    markerWidth = (zoom/9)*20
    markerHeight = (zoom/9)*34

    //set the icon with the new size to the marker
    marker.setIcon({
        url: icon,
        scaledSize: new google.maps.Size(markerWidth, markerHeight)
    });
});

我想要它打印所有结果,但它只打印1。

https://gyazo.com/406ab3039f3efa8f72d3dfff5732c088

你知道我可以做到的方式所以打印所有结果吗?感谢。

2 个答案:

答案 0 :(得分:0)

问题是您正在循环中创建文件编写器对象。所以它将取代之前的结果,因此只有最后的结果才会出现在$text = 'one four eleven no upstairs'; $arr = explode(" ", $text); usort($arr,function($a, $b){ return strlen($b)-strlen($a); }); $longest_string_array = array_slice($arr, 0, 3); // display $longest_string_array var_dump($longest_string_array);

要解决此问题,请在searchResults.txt

之外移动FileWriter fw = new FileWriter(fe);

另请注意,您不需要两个for loop条件。

如果if为真     if (f.getName().contains(".jar"))也返回true,在if (f.getName().endsWith(".jar"))语句之后你也错过了大括号。

if

答案 1 :(得分:0)

您尝试创建FileWriter的实例,并在每次创建时关闭它。所以你必须放置fw.close();并在for循环之外定义FileWriter实例。

    File fe = new File("C:\\Users\\" + System.getProperty("user.name") + "\\desktop" + "\\SearchResults.txt");
    String customLoca = "C:\\Users\\" + System.getProperty("user.name") + "\\desktop";

    FileWriter fw = new FileWriter(fe);

    File dir = new File(customLoca);
    for (File f : dir.listFiles()) {
        if (f.getName().endsWith(".jar")) {
            try {
                fw.write("[!]Found: " + f.getName() + "[!]");
                fw.write("\r\n");
                fw.write("[!]Found: " + f.getName() + "[!]");
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
    try {
        fw.close();
    } catch (Exception ex) {
        ex.printStackTrace();
    }