当我用FileInputStream去获取FileChannel的对象时:
当我用FileInputStream去获取FIieChannel的对象时:
报了以下的错误:
点进FileChannelImpl.java:201去看了下
发现这个writable值为false的原因是在初始化的时候传进来就是false。
所以就去找在什么时候初始化的。
看第一张图,发现是因为fon.getChannel();
点进这个方法可以看到:
最终发现原因出在这个,所以FileInputStreamq去getChannel会导致写数据报错,因此百度后发现,可以换一个对象。
使用这个对象去获取Channel就没有问题 ,点进去看: