2013-05-14 26 views
6

どうすればいいですか Javaでファイルを削除できますか?ファイルを削除できるかどうかを確認するにはどうすればいいですか?

は例えば、私はファイルC:/file.txtを削除することができるはずですが、私は私のために動作しませんpossible duplicateに説明などC:/またはComputer、またはMy Documents

ソリューションを削除することはできませんでし

+0

* "ソリューションをAQUIRE私のために働いていない "*理由を説明してください? –

+0

@Marco Forberg時々、 'C:/ file.txt'のような通常のファイルに対して'アクセスが拒否されました '例外がスローされます。 – SeniorJD

答えて

10

ファイルを削除するには、ファイルの親の書き込み許可、つまりファイルが保存されているディレクトリが必要です。 java内のディレクトリは、java.io.Fileクラスのインスタンスでも表され、メソッドはcanWrite()です。

ファイルを削除できるかどうかを確認するには、file.getParent().canWrite()に電話する必要があります。私のNTFSを使用して、Windows 7の64ビットボックスとJava 7(OracleのJDK)で

+0

それは私のために働く、ありがとう! – SeniorJD

+0

私の同僚のすべてのクレジット@ arn0n – AlexR

+3

+1優れた解決策ですが、実際には 'file.getParentFile()。canWrite()'です。 –

3

、確実に私のために働いた唯一の事は

boolean canDelete = file.renameTo(file) 

これは、「驚くほどシンプルで、持っているフォルダ、のためにも動作します「開いている」または「ロックされた」ファイルのどこかにある。私は偽陽性を試してみましたが、生産

他のもの:可能重複して説明しFileLock、#canWriteファイル、ファイルsetLastModified#( "タッチ")、file.getParent()canWrite()

+0

この関数の動作はプラットフォームによって異なります。 – colti

関連する問題