1

マルチスレッドの Java アプリケーションがあり、ロギング コードは 1 つのスレッドで File.length を使用しますが、ロギングのみを目的としています。

このロギングに関係なく、他のスレッドから削除できるようにしたい。

java.io.File.length() 呼び出しでファイルがロックされ、java.io.File.delete() 呼び出しが機能しなくなる可能性はありますか?

Windows Sun/Oracle JRE (現時点では 1.6.0_30) を使用しています。

4

1 に答える 1

1

これは、JVM ではなくファイル システムのプロパティであるため、単純に「はい」または「いいえ」で答えることができません。ファイルが読み取りまたは書き込みのために開かれている間は機能しないという既知の問題はdelete()、UNIX 系のシステムでは発生しない Windows 固有の問題です。

しかし、あなたの特定のケースでは、Windows、Linux、または Mac OS X では問題にならず、おそらくその答えで十分です!

于 2012-04-18T13:18:06.753 に答える