RandomAccessFile发生java.io.FileNotFoundException
2016-08-21 16:55
826 查看
本来以为RandomAccessFile在没有文件时, rw模式会自动创建文件,结果写如下代码时,报 java.io.FileNotFoundException 异常.
发现原因是RandomAccessFile 不能跨目录创建文件。
比如原目录是test\\shareMemory\
则只能在该目录下直接创建,如果想让其直接创建test\\shareMemory\test\a.file
就会报文件找不到的异常。因此必须手动创建test\\shareMemory\test 目录后,方可自行创建文件。
package shareMemory; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.FileChannel.MapMode; public class MappedByteBufferTest { /** * @param args */ public static void main(String[] args) { String str = "XXXXXXXXERXXXR" ; MappedByteBuffer mbb; try { String outputFile = "F:\\test\\shareMemory\\test\\sharememory.txt"; RandomAccessFile raf = new RandomAccessFile(outputFile, "rw"); FileChannel fc = raf.getChannel(); mbb = fc.map(MapMode.READ_WRITE, 0, 1024); mbb.put(str.getBytes()); raf.close() ; } catch (IOException e) { e.printStackTrace(); } } }
发现原因是RandomAccessFile 不能跨目录创建文件。
比如原目录是test\\shareMemory\
则只能在该目录下直接创建,如果想让其直接创建test\\shareMemory\test\a.file
就会报文件找不到的异常。因此必须手动创建test\\shareMemory\test 目录后,方可自行创建文件。
相关文章推荐
- RandomAccessFile创建文件java.io.FileNotFoundException
- 使用jeecms 进行文字搜索,报java.io.FileNotFoundException: no segments* file found...
- keytool 错误: java.io.FileNotFoundException: android.keystore (拒绝访问。)
- Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope
- 报错信息:java.io.FileNotFoundException拒绝访问
- ApkTool反编译出错brut.common.brutexception及java.io.filenotfoundexception 之一
- java.io.FileNotFoundException: log4j.properties
- Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope
- java基础—java.io.FileNotFoundException: E:\AAA(拒绝访问。)
- java.io.FileNotFoundException: Template /template/ajax/head.ftl not found.
- 解决java.io.FileNotFoundException: D:\xxx\yyy (拒绝访问。)问题
- java.io.FileNotFoundException关于使用Intellij Idea时系统找不到指定文件的解决方案
- 【c3p0】报错:java.io.FileNotFoundException: Resource not found at path '/mchange-log.properties'
- java.io.FileNotFoundException: /mnt/sdcard/2012-08-15Log.txt (Permission denied)
- spark集群环境下Lost task 0.0 in stage 10.0 (TID 17, 10.28.23.202): java.io.FileNotFoundException
- Spark错误:Lost task 0.0 in stage 10.0 (TID 17, slave1): java.io.FileNotFoundException
- NET制作安装程序的错误提示:在初始化安装时发生异常 System.IO.FileNotFoundException
- java.io.FileNotFoundException: /usr/local/tomcat/conf/context.xml (Permission denied)
- tomcat下载文件时,URL含有文字参数与空格参数出错(java.io.FileNotFoundException错误) 解决方法(转)
- android4.0 中:java.io.FileNotFoundException: