可能导致这种情况的原因是什么?我有一个我编写的Java程序在Java 6u33和Java 7u67的Windows 7 PC上工作正常,但是在Windows 7下运行Java 7u67的同事的PC上,我收到一个错误:
Exception in thread "main" java.lang.Error: java.io.IOException: Incorrect function
at sun.nio.ch.FileKey.create(Unknown Source)
at sun.nio.ch.SharedFileLockTable.<init>(Unknown Source)
at sun.nio.ch.FileLockTable.newSharedFileLockTable(Unknown Source)
at sun.nio.ch.FileChannelImpl.fileLockTable(Unknown Source)
at sun.nio.ch.FileChannelImpl.tryLock(Unknown Source)
at java.nio.channels.FileChannel.tryLock(Unknown Source)
我无法解决实际导致此错误的问题以及如何解决此问题。
嗯。显然这是Java包装底层操作系统错误(https://bugs.openjdk.java.net/browse/JDK-8025619)。是什么原因导致Windows中出现“不正确的功能”错误?
答案 0 :(得分:1)
唉。它实际上与Java无关,而且与Windows下的保留文件名有关。
我正在尝试创建一个COMnn.LOCK
形式的文件,在我的电脑上,我正在使用COM13.LOCK(Windows下的合法文件名),但在我的同事的PC上它是COM5.LOCK,显然Windows下的非法文件名;任何带有COMn的文件名(其中n是任意1位数字),任何扩展名都是非法的。 &GT;:(