我试图将数据从旧的文本文件转移到新的文本文件。虽然下面的代码能够成功传输,但它不会删除旧的文本文件。我可以知道这是为什么吗?无法删除使用删除文本文件()
private void dataTransfer(String oldFilePath, String newFilePath) {
byte[] buffer = new byte[10000];
try {
FileInputStream fileInput = new FileInputStream(oldFilePath);
BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
FileOutputStream fileOutput = new FileOutputStream(newFilePath);
BufferedOutputStream bufferedOutput = new BufferedOutputStream(fileOutput);
while(true) {
int length = fileInput.read(buffer);
if(length == -1) {
break;
} else {
bufferedOutput.write(buffer);
bufferedOutput.flush();
}
}
fileInput.close();
bufferedInput.close();
fileOutput.close();
bufferedOutput.close();
File oldFile = new File(oldFilePath);
oldFile.delete();
} catch (IOException e) {
e.printStackTrace();
System.out.println(ERROR_TRANSFER_DATA);
}
}
放技术的问题标签,调试代码,并检查它是否被删除 – mikus
尝试检查是否有权限删除的文件或文件是否存在与否,或者你可以检查文件是否被锁定之前存在的文件一些其他的过程! –
为什么你甚至可以复制该文件,如果你能[移动它(http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#move-java。 nio.file.Path-java.nio.file.Path-java.nio.file.CopyOption ...-)?另外为什么你冲洗输出作家呢? '关闭'一次就可以完成,不需要手动完成。 – fabian