我試圖將數據從舊的文本文件轉移到新的文本文件。雖然下面的代碼能夠成功傳輸,但它不會刪除舊的文本文件。我可以知道這是爲什麼嗎?無法刪除使用刪除文本文件()
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