![Java File 類別在我的系統中產生了一個無法刪除的文件](https://rvso.com/image/1585754/Java%20File%20%E9%A1%9E%E5%88%A5%E5%9C%A8%E6%88%91%E7%9A%84%E7%B3%BB%E7%B5%B1%E4%B8%AD%E7%94%A2%E7%94%9F%E4%BA%86%E4%B8%80%E5%80%8B%E7%84%A1%E6%B3%95%E5%88%AA%E9%99%A4%E7%9A%84%E6%96%87%E4%BB%B6.png)
我當時正在開發一個用於 C# 單元測試的快速內部模板程序,因此我使用 java 來產生它們。
該程式只是打開模板文件,替換我的正則表達式模式並將資訊保存在我的測試項目中的新文件中。
該程式現在按預期工作,但早些時候我不小心選擇了整個正則表達式匹配而不是我的分組,並將文件命名為“public class myTestClass”。
我認為這沒什麼大不了的,所以我只是嘗試刪除創建的新文件,但文件系統拒絕了。然後,當我完成模板程式時,我就把這個問題放在一邊。完成後,我殺死了所有 java 實例並重置了我的電腦。啟動後,我嘗試使用 git 推送更改,但文件仍然存在並且仍然無法刪除。
我透過檔案總管和 cmd 不斷收到的錯誤是「這不再位於 C:........\myFolder」驗證專案位置並重試。
這是一個問題,因為無論我嘗試什麼,文件都會持續存在,並使我的儲存庫變得無用。我已經手動修復並將更改推送到 git,但我希望能夠解決這個問題,以便我可以繼續使用原始專案路徑。
java 程式只是使用 cwd + 新檔案的名稱建立了一個 new File(),然後將 String.getBytes() 刷新到該文件
這些檔案都是 0kb,屬性中沒有工作資訊 即使重置搜尋索引後,檔案也會顯示在所有搜尋和索引中
我嘗試過的事情:
- 重啟
- 關閉
- 拔掉電源插頭 30 秒
chkdsk /r /f
cmd rm PUBLIC~1
**我使用的文件的簡寫名稱dir /x
- LockHunter 對檔案表示該檔案未被任何進程鎖定
- 安全模式也做不到
- 我嘗試將文件移動到較短的路徑,但未成功
- 縮短所有資料夾名稱也不起作用
- 重建搜尋索引
抱歉,如果這不是這個問題的正確位置,但我沒有主意。
答案1
我終於解決了這個問題。
我仍然不知道這個問題的根本原因,但這是我能夠解決它的方法。我只是使用 7zip 將文件添加到存檔中,並勾選了“存檔後刪除文件”框,這終於成功了