一臺機器,系統裝的一個centos ,不同磁盤區間使用renameTo移動檔案失敗,是什么原因導致的呢,又怎么解決這個問題?
/**
* 復制單個檔案
*
* @param oldPath String 原檔案路徑
* @param newPath String 復制后路徑
* @return boolean
*/
public static boolean moveFile(String oldPath, String newPath) throws IOException {
File startFile = new File(oldPath);
File file = new File(newPath);
if (file.exists()) {
return true;
}
return startFile.renameTo(file);
}
uj5u.com熱心網友回復:
移動失敗有例外log嗎?你renameTo的路徑有寫權限嗎?
uj5u.com熱心網友回復:
就報IO出錯 然后有讀寫權限的 相同系統 只是磁盤不同uj5u.com熱心網友回復:
https://blog.csdn.net/hui_2016/article/details/73332759?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-2.channel_paramuj5u.com熱心網友回復:
renameTo路徑的父路徑檔案夾存在嗎?如果不存在,你要先makediruj5u.com熱心網友回復:
創建好了的。在windows下能行 然后linux測驗機上也行 就是導生產環境有問題,生產環境的機器是多個磁盤
uj5u.com熱心網友回復:
這就怪了,目標檔案夾存在,寫權限也有,如果不行,就只能懷疑磁盤容量不夠,或者磁盤的檔案格式不同了,你再查看一下磁盤容量和磁區型別吧轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/16008.html
標籤:Java相關
