java.io.IOException: No such file or directory

  异常信息
java.io.IOException: No such file or directory
	at java.io.FileOutputStream.writeBytes(Native Method)
	at java.io.FileOutputStream.write(FileOutputStream.java:247)
	at com.nstc.framework.web.util.jsloader.JsFileModelMgrTest.testGetJs(JsFileModelMgrTest.java:53)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

 

异常原因

出现此类异常的场景就太多了,这只是其中一种原因,当创建完成文件流实例然后这里使用了FileChannel,通过NIO对文件内容进行操作,操作完成之后把FileChannel关闭,这里尝试写就会抛错了。

代码

    @Test
    public void testGetJs() {
        jfmmInst.doLoaderJs();
        FileOutputStream fous = null;
        FileChannel fileChannel = null;
        try {
            fous = new FileOutputStream(testFile, false);
            fileChannel = fous.getChannel();
            jfmmInst.doRestoreIO("ExtExtension", fileChannel);
            fileChannel.close();
            fous.write("HelloWorld\n".getBytes());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } finally {
            if (fous != null) {
                try {
                    fous.close();
                } catch (IOException ioe) {
                    ioe.printStackTrace();
                }
            }
        }
    }

你可能感兴趣的:(File,null)