1

これを効果的に行うコードがいくつかあります:

File file = new File("C:\\Program Files (x86)\\Something\\fred.txt");
System.out.println("file.canWrite() = " + file.canWrite());

それは真実を印刷します。奇妙なことに、例外なくファイルを作成できます。さらに、別のプログラムが作成したファイルを読み取ることができます。問題は、Windows エクスプローラーで、ファイルがまったく表示されないことです。

あなたが考えているかもしれない隠しファイルを表示するかもしれませんが、いいえ、私はそのオプションをオンにしました。

また、Vista の「超隠しファイル」についても知ったので、そのオプションをオンにしましたが、まだファイルが表示されません。レジストリを正しく編集していない可能性があります-ファイルが非常に隠されているとしか思えません-他にどこにあるのでしょうか?

問題は、私が html ファイルを作成していて、ブラウザを起動すると、非常に隠されているため、html ファイルが表示されないことです。

Java が超隠しファイルを作成するのを防ぐにはどうすればよいですか? これは JRE 6 update 6 で実行されています。

4

2 に答える 2

9

あなたはおそらくフォルダ リダイレクトの「被害者」です。UAC が有効になっている場合、管理者としてプログラムを実行していない場合、Program Files への書き込みは別の場所にリダイレクトされます。

C:\Users\<username>\AppData\Local\VirtualStore\<insert>\<expected>\<path>\<here> でファイルを見つける必要があります。

もちろん、適切な修正は、最初から Program Files に書き込まないことです。代わりに、ユーザーのホーム ディレクトリのどこかを使用してください (書き込むべき正確な場所は、アプリの目的によって異なります)。

于 2008-11-11T11:02:31.990 に答える
0

update 10 でこの動作が変更された可能性があると思います。私は、vista でより適切に動作するように、多くのブラウザー機能を再実装したことを知っています。100%確実とは言えませんが、一度ご覧になることをお勧めします。

于 2008-11-11T11:05:04.747 に答える