Java File クラスがシステム内に削除できないファイルを生成しました

Java File クラスがシステム内に削除できないファイルを生成しました

私は C# ユニット テスト用の簡単な社内テンプレート プログラムに取り組んでいたので、Java を使用してそれらを生成しました。

プログラムはテンプレート ファイルを開き、正規表現パターンを置き換えて、その情報をテスト プロジェクトの新しいファイルに保存するだけです。

プログラムは意図したとおりに動作するようになりましたが、以前はグループ化ではなく正規表現の一致全体を誤って選択し、ファイルに「public class myTestClass」という名前を付けていました。

大したことではないと思ったので、新しく作成されたファイルを削除しようとしましたが、ファイル システムが拒否しました。その後、テンプレート プログラムを完成させる間、この問題は脇に置きました。完成後、すべての Java インスタンスを強制終了し、PC をリセットしました。起動後、Git で変更をプッシュしようとしましたが、ファイルは依然として残っており、削除できませんでした。

ファイル エクスプローラーと cmd で「これは C:\....\myFolder に存在しません」というエラーが繰り返し表示されます。アイテムの場所を確認して、もう一度試してください。

これは問題です。何を試してもファイルが残り、リポジトリが役に立たなくなるからです。すでに手動で修正し、変更を git にプッシュしましたが、元のプロジェクト パスを引き続き使用できるように、この問題を解決したいと考えています。

Javaプログラムは、cwd + 新しいファイルの名前で新しいFile()を作成し、String.getBytes()をファイルにフラッシュするだけです。

ファイルはすべて0KBで、プロパティには有効な情報がありません。検索インデックスをリセットした後でも、ファイルはすべての検索とインデックスに表示されます。

私が試したこと:

  • リブート
  • シャットダウン
  • 電源プラグを30秒間抜く
  • chkdsk /r /f
  • cmd rm PUBLIC~1**私が使用したファイルの短縮名dir /x
  • ファイルのLockHunterは、どのプロセスによってもロックされていないと表示しました
  • セーフモードでもできない
  • ファイルを短いパスに移動しようとしましたが失敗しました
  • すべてのフォルダ名を短くしてもうまくいきませんでした
  • 検索インデックスを再構築

この質問が適切な場所でない場合は申し訳ありませんが、私にはアイデアがありません。

答え1

ついに問題を解決しました。

この問題の根本的な原因はまだわかりませんが、私が解決できた方法は次のとおりです。ファイルを 7zip でアーカイブに追加し、「アーカイブ後にファイルを削除する」というボックスにチェックを入れるだけで、ようやく解決しました。

関連情報