使用Java复制文件时的结果为空

使用Java复制文件时的结果为空,java,file,copy,Java,File,Copy,我试图用我的应用程序将源文件夹复制到另一个文件夹来“重命名”文件夹 但是。。。创建目标文件夹时,其中的文件为空(0字节)。 请注意,这只发生在我部署应用程序的linux机器上。 在使用windows的本地计算机上不会发生这种情况 我试过了 Files.copy(src, dest); 以及使用输入/输出流创建字节数组 byte[] buffer = new byte[1024]; 同样的结果。 有什么想法吗?我不知道为什么Linux机器上会出现这个问题,Linux机器上运行的是什么VM和版本

我试图用我的应用程序将源文件夹复制到另一个文件夹来“重命名”文件夹

但是。。。创建目标文件夹时,其中的文件为空(0字节)。 请注意,这只发生在我部署应用程序的linux机器上。 在使用windows的本地计算机上不会发生这种情况

我试过了

Files.copy(src, dest);
以及使用输入/输出流创建字节数组

byte[] buffer = new byte[1024];
同样的结果。
有什么想法吗?

我不知道为什么Linux机器上会出现这个问题,Linux机器上运行的是什么VM和版本

您可能想尝试ApacheCommons io FileUtils,因为它有copyDirectory方法,使live更容易


如果您试图重命名,则必须使用
文件的方法。请改为移动


但是仍然
文件。复制
也可以正常工作。如果您发布更多的代码来找出问题,我会更好。

独立于
文件。copy
仅适用于文件,不适用于目录

您必须使用
文件。walkFileTree

我已经为此编写了一些实用方法(该库是开源的)

教程:

马文:

<dependency>   
    <groupId>org.softsmithy.lib</groupId>   
    <artifactId>softsmithy-lib-core</artifactId>   
    <version>0.2</version>    
</dependency> 

org.softsmithy.lib

权利?您以哪个用户的身份运行它,以及哪个用户拥有这些文件?您能否提供一个简短的、自包含的示例,我们可以运行它?