Javaから、File.createTempFile()を使用して指定された場所に実行可能ファイルを抽出しています。実行可能ファイルを実行しようとすると、出力の最初の行を読み取ろうとするとプログラムがハングします。
別のプログラムから同じ抽出実行可能ファイルを実行しようとすると、ディレクトリをC:\ Documents and Settings \ username \ Local Settings \ Temp\prog.exeとして指定すると機能することがわかりました。しかし、ディレクトリをC:\ DOCUME〜1 \ USERNA〜1 \ LOCALS〜1 \ Temp \ prog.exeと指定すると、ハングします。
プログラムでチルダファイル名を解除して、機能するディレクトリ名を指定できるようにする方法はありますか?
(そして、私は常に言語とAPIの設計の問題に対処するのが好きなので、Java File.createTempFile()とjava.io.tmpdirが壊れたファイル名を評価しなければならない理由はありますか?)