Java NIO在Windows上需要特殊權限嗎?Java NIO和Windows磁盤訪問
當我運行Windows Server 2003上的Java代碼,它失敗「訪問被拒絕」的錯誤(這是在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