`
cloudeagle_bupt
  • 浏览: 585195 次
文章分类
社区版块
存档分类
最新评论

RandomAccessFile发生java.io.FileNotFoundException

 
阅读更多

本来以为RandomAccessFile在没有文件时, rw模式会自动创建文件,结果写如下代码时,报java.io.FileNotFoundException 异常.

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目录后,方可自行创建文件。
分享到:
评论

相关推荐

    ReadWriteTxt.java

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java....

    Java实现文件分割和文件合并实例

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Scanner; public class Main { public static void main(String[] arg

    JAVA2SDK全部类库的详解

    `java.io`包是Java标准库中非常重要的组成部分之一,它提供了大量的类和接口,用于处理输入/输出流、文件系统操作以及对象的序列化等。这些功能对于开发各种类型的应用程序都是不可或缺的。 ##### 数据流 数据流是...

    dnzyz.rar_RandomAccessFile_java 文件管理_文件操作

    `RandomAccessFile`是Java.io包中的一个核心类,它结合了输入流和输出流的功能,允许我们以字节或字符为单位对文件进行随机读写。它不遵循传统的流式模型,即数据只能从源到目的地单向流动,而是可以在文件的任意...

    JAVA对文件操作详细讲解

    - **随机访问文件**:`java.io.RandomAccessFile` 支持在文件任意位置读写,常用于大文件操作。 5. **文件复制和移动** - **复制**:可以使用 `java.nio.file.Files.copy()` 或自定义逻辑实现文件复制,考虑是否...

    java创建TXT文件并进行读、写操作(代码)

    创建一个TXT文件在Java中可以通过`java.io.File`类和`java.io.FileWriter`类来实现。首先,需要创建一个`File`对象,它代表了文件系统中的文件或目录。如果文件不存在,可以调用`createNewFile()`方法来创建一个新的...

    android读写sd卡操作写入数据读取数据示例

    import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.RandomAccessFile; import android.os.Bundle;import android.os.Environmen

    Java核心编程之文件随机读写类RandomAccessFile详解

    Java中的RandomAccessFile类是用于文件随机读写的工具类,它属于java.io包。RandomAccessFile提供了读取和写入文件的能力,并且允许程序访问文件的任意位置,这使得它能够方便地进行文件的随机访问。...

    java创建TXT文件并进行读、写、修改操作

    写入TXT文件可以使用`java.io.RandomAccessFile`类,它允许随机访问文件的任何位置。在示例代码中,`writeTxtFile()`方法首先读取现有文件内容,然后添加新字符串并重新写入: ```java public static void writeTxt...

    java文件操作大全.pdf

    1. 创建文件夹:在 Java 中,我们可以使用 `java.io.File` 类的 `mkdir()` 或 `mkdirs()` 方法来创建单个文件夹或嵌套的文件夹结构。`mkdir()` 仅创建单个文件夹,如果路径中的父目录不存在,则可能失败;而 `mkdirs...

    Java文件断点续传实现原理解析

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; public class Test { private static int position = -1; public ...

    java使用randomaccessfile在文件任意位置写入数据

    RandomAccessFile类位于java.io包中,是处理文件的便捷工具。它既可以作为一个输入流来读取文件内容,也可以作为一个输出流来写入数据。RandomAccessFile构造器需要两个参数:第一个是文件的路径名;第二个是模式...

    使用RandomAccessFile流将一个文本文件读出,并导致写入到另一个文件当中。

    `RandomAccessFile`是Java标准库中用于处理文件的类之一,位于`java.io`包中。它结合了`FileInputStream`和`FileOutputStream`的功能,不仅能够读取文件,还能向文件写入数据。此外,`RandomAccessFile`还支持随机...

    ip地址库 很全的库

    import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteOrder; import java.nio.MappedByteBuffer; import java.nio.channels....

    java基础知识 io

    Java基础知识是学习Java编程语言的基石,其中包括对输入/输出(IO)的理解和应用。Java IO是Java平台中处理数据输入和输出的核心组件,对于任何Java开发者来说,掌握这一部分的知识至关重要。以下将详细阐述Java基础...

    文件管理(包括加密解密)

    Java还提供了流式操作(如`InputStream`和`OutputStream`)、随机访问文件(`RandomAccessFile`)以及NIO(New IO)框架,用于更高效和灵活的文件处理。NIO提供了非阻塞I/O、通道和缓冲区等特性,适合大数据量的文件...

    \\(^_^)/ Java io 结构

    同时,理解Java IO的异常处理机制也很关键,因为I/O操作可能会出现各种异常,如FileNotFoundException、IOException等,及时捕获并处理这些异常是保证程序稳定运行的必要条件。 总之,Java IO是Java平台的重要组成...

    JAVA读取随机文件

    首先,Java提供了多种类用于处理文件输入输出,其中`java.io`包中的`FileInputStream`和`FileReader`是基础类,用于读取文件内容。然而,对于随机访问文件,我们通常会使用`RandomAccessFile`类,它提供了随机访问和...

    FileRW.rar_文件读取

    `java.io.File`是Java中的核心类,用于表示文件和目录路径名的抽象表示。你可以通过构造函数创建一个`File`对象,传递文件的绝对或相对路径。例如: ```java File file = new File("path/to/your/file.txt"); ``` ...

Global site tag (gtag.js) - Google Analytics