Java の隠しファイルに問題があります。非表示の txt ファイルに書き込みたいのですが、常に「アクセスが拒否されました」と表示されます。私の提案は、ファイルを表示して書き込み、再度非表示にすることです。しかし、隠しファイルを表示するにはどうすればよいですか?
1 に答える
私は以前に言いました:問題は、ファイルが隠されていることではありません. 問題は、プログラムがファイルへの書き込みアクセス権を持っていないことです。「非表示」にすることは役に立たないでしょう。
Windowsの場合よりも複雑なようです。ファイルを変更する前に、ファイルを「再表示」することは確かに価値があります。
いずれにせよ、Java 7 を使用している場合、Windows 固有のファイル属性を読み書きする方法は、java.nio.file.Files
API、具体的にはgetFileAttributeView(...)
メソッドを使用することです。古いバージョンの場合、外部ユーティリティ (@Achintya Jha の回答を参照) を使用するか、JNI / JNA ラッパーを使用して Windows ネイティブ API を呼び出す必要があります。
Linux を使用している場合は、Windows 固有を POSIX および/または Linux 固有に変更します。(ファイルの属性とパーミッションに関係する多くのことは、本質的に OS 固有であることに注意してください。)
最後に、プログラムがファイルへの書き込みアクセス権を持っていないことが問題である場合、書き込みアクセス権を取得するためにできることは何もない可能性がかなりあります。