相关疑难解决方法(0)

Java 8:递归复制目录?

我看到Java 8已经大大清理了将文件内容读入String:

String contents = new String(Files.readAllBytes(Paths.get(new URI(someUrl))));
Run Code Online (Sandbox Code Playgroud)

我想知道是否有类似的东西(更干净/更少的代码/更简洁)递归复制目录.在Java 7的土地上,它仍然是这样的:

public void copyFolder(File src, File dest) throws IOException{
    if(src.isDirectory()){
        if(!dest.exists()){
            dest.mkdir();
        }

        String files[] = src.list();

        for (String file : files) {
            File srcFile = new File(src, file);
            File destFile = new File(dest, file);

            copyFolder(srcFile,destFile);
        }

    } else {
        InputStream in = new FileInputStream(src);
        OutputStream out = new FileOutputStream(dest); 

        byte[] buffer = new byte[1024];

        int length;
        while ((length = in.read(buffer)) > 0){
            out.write(buffer, 0, length);
        }

        in.close();
        out.close();
    }
} …
Run Code Online (Sandbox Code Playgroud)

recursion file-copying java-8

26
推荐指数
5
解决办法
2万
查看次数

将Logcat保存到Android设备中的文本文件

我在Android设备中运行应用程序时发现了一些崩溃,这在模拟器中没有显示.所以我需要将Logcat保存在设备内存或SD卡的文本文件中.你能建议我这样做的好方法吗?

java eclipse android logcat android-sdcard

24
推荐指数
5
解决办法
5万
查看次数

Java删除超过N天的文件

我想要一些Java代码来删除超过N天的文件.

这是我的尝试,但它不能正常工作.

public void deleteFilesOlderThanNdays(final int daysBack, final String dirWay) {

    System.out.println(dirWay);
    System.out.println(daysBack);

    final File directory = new File(dirWay);
    if(directory.exists()){
        System.out.println(" Directory Exists");
        final File[] listFiles = directory.listFiles();          
        final long purgeTime = 
            System.currentTimeMillis() - (daysBack * 24 * 60 * 60 * 1000);

        System.out.println("System.currentTimeMillis " + 
            System.currentTimeMillis());

        System.out.println("purgeTime " + purgeTime);

        for(File listFile : listFiles) {
            System.out.println("Length : "+ listFiles.length);
            System.out.println("listFile.getName() : " +listFile.getName());
            System.out.println("listFile.lastModified() :"+
                listFile.lastModified());

            if(listFile.lastModified() < purgeTime) {
                System.out.println("Inside File Delete");
            }
        }
    } 
    else 
    {
    } …
Run Code Online (Sandbox Code Playgroud)

java file file-management

2
推荐指数
2
解决办法
3万
查看次数