![](/img/trans.png)
[英]PDF file with empty pages appearing after Copying using Java Files.copy
[英]Java 7 - Files.copy copying empty file
Files.copy无法正常工作。 复制的文件始终为0字节。 下面是代码片段
File sourceFile = new File(sorceFileName);
File destinationFile = new File(destinationFileName);
Files.copy(sourceFile.toPath(), destinationFile.toPath());
这是什么原因呢? 在Solaris OS上运行。
我相信您将需要再添加一个属性REPLACE_EXISTING
像这样: Files.copy(source, target, REPLACE_EXISTING);
在您的情况下,应为: Files.copy(sourceFile.toPath(), destinationFile.toPath(), REPLACE_EXISTING);
阅读http://docs.oracle.com/javase/tutorial/essential/io/copy.html ,希望对您有所帮助。 如果您想知道其他方式复制文件,你可能需要阅读这个和这个 。
除非我严重怀疑Solaris的文件系统中存在巨大的错误,否则您的方案只有在源文件实际上为空的情况下才有可能。
因为您说的不是,所以API必须引发了异常并且您不知道。 可能的例外是:
FileAlreadyExistsException
:目标文件已经存在; 使用其他职位提供的解决方案; AccessDeniedException
:meh,无法读取源/写入目标(许多可能的原因); NoSuchFileException
:目标文件中的路径包含一个不存在的路径元素; FileSystemLoopException
:在目标路径中的某个位置是一个自身循环的符号链接。 当然还有经典的IOException
和严重的IOError
...
另外,由于从File
对象生成Path
,因此可以具有InvalidPathException
; 与File
不同,您不能使用包含当前编码中不可映射的字符序列的字符串创建Path
对象(至少不使用所提供的默认FileSystem
实现)。
您必须在某处有例外...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.