Java NIOはWindowsで特別な権限が必要ですか?私は、Windows Server 2003上の次のJavaコードを実行するとJava NIOとWindowsのディスクアクセス
、それはで失敗し、「アクセスが拒否されました」エラー(それはcygwinのターミナルウィンドウで全体のメッセージです):
new FileOutputStream(outputFile).getChannel()
.transferFrom(new FileInputStream(inputFile).getChannel(), 0, Long.MAX_VALUE);
が、私は、Apacheのコモンズを使用する場合-io(私はNIOを使用していないと仮定している、それは同じ入力ファイルと出力ファイルで動作します。
final FileInputStream inputStream = new FileInputStream(inputFile)
final FileOutputStream outputStream = new FileOutputStream(outputStream)
IOUtils.copy(inputStream, outputStream);
私は管理者アカウントを使用してJava 5で実行しています設定する必要がありますいくつかの特別なファイルのアクセス権があります
?
これはJVMバグです。あなたはJava 6または7を試しましたか? –
現時点ではアップグレードできません。企業の問題。 – Ralph
他のアプリケーションでoutputFileを開いていますか?すべてのアプリケーションは、このoutputFileを一点で開いた状態で閉じていますか? Windowsでは、使用していると思われるファイルには奇妙な問題がある可能性があります。言い換えれば、マシンをリブートして、すぐにそのテストを実行してみてください。 – sjngm