微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Java 6中使用DirectoryStream?

如何解决如何在Java 6中使用DirectoryStream?

我有下面的代码可以在Java 7中正常工作。但是如何使它适用于Java 6?

        List<Map<String,String>> map = new ArrayList<Map<String,String>>();
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(Paths.get(Path))) { //auto close stream
            for (Path path : stream) {
                Map<String,String> fileList = new HashMap<>();
                BasicFileAttributes attr = Files.readAttributes(path,BasicFileAttributes.class);
                if (!Files.isDirectory(path)) {
                    byte[] filepath = path.toFile().toURI().toURL().toString().getBytes("UTF-8");
                    String encodedpath = DatatypeConverter.printBase64Binary(filepath);
                    long time = attr.lastModifiedTime().toMillis();
                    fileList.put("filename",path.getFileName().toString());
                    fileList.put("date",String.valueOf(time));
                    fileList.put("path",encodedpath);
                    map.add(fileList);
                }
            }

            sortArray(map);
        } catch (FileNotFoundException e) {
            LOGGER.error("Folder not found " + Path);
            e.printstacktrace();
        } catch (Exception e){
            e.printstacktrace();
        }
        return map;
    }

我知道try-catch需要更改才能在Java 6中工作。因此可以像下面这样使用。但是,如何声明目录流?因为Java 6不支持菱形运算符<>

        try{
            
        } catch (){
            
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?