`
wooden_baby
  • 浏览: 13250 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
最近访客 更多访客>>
社区版块
存档分类
最新评论

RandomAccessFile 基于jdk1.6

阅读更多
// 关于创建参数
new RandomAccessFile(filePath, "r"); // 只读 文件不存在时会抛出异常
new RandomAccessFile(filePath, "rw"); // 读写 文件不存在时 会创建文件
new RandomAccessFile(filePath, "rws"); // 读写 内容和元数据均同步 文件不存在时 会创建文件
new RandomAccessFile(filePath, "rwd"); // 读写 内容同步 文件不存在时 会创建文件

 解释一下rws与rwd的区别,rws会在同步内容时保持元数据的同步 例如最后修改时间,rwd则不保证元数据的同步。

用RandomAccessFile来操作字节数据是一个不错的主意。

看一个典型的例子:

 

public class RandomAccessFileStudy {

    private RandomAccessFile mRdmAcsFile;

    public RandomAccessFileStudy() {
        //文件一开始是不存在的
        String fileName = "rdm_acs_file.txt";
        String filePath = RandomAccessFileStudy.class.getResource("").getPath() + fileName;
        System.out.println(filePath); ///home/jpeng/story/workspace/default/JavaPrj/bin/study/base/file/rdm_acs_file.txt
        try {
            mRdmAcsFile = new RandomAccessFile(filePath, "rws");
            System.out.println("length:" + mRdmAcsFile.length());//length:0
            mRdmAcsFile.write(new byte[] { '1', '2', '3', '4', '5' });//文件内容:12345
            System.out.println("length:" + mRdmAcsFile.length());//length:5
            mRdmAcsFile.seek(0);
            mRdmAcsFile.writeByte('a');//文件内容:a2345
            System.out.println("length:" + mRdmAcsFile.length());//length:5
            mRdmAcsFile.seek(1);
            mRdmAcsFile.writeByte('b');//文件内容:ab345
            System.out.println("length:" + mRdmAcsFile.length());//length:5
            mRdmAcsFile.seek(4);
            mRdmAcsFile.write(new byte[]{'x','y','z'});//文件内容:ab34xyz
            System.out.println("length:" + mRdmAcsFile.length());//length:7
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        RandomAccessFileStudy rdmAcsFileStudy = new RandomAccessFileStudy();
    }
}

   RandomAccessFile提供了setLength方法,可以让我们在不知道文件内容情况下设置文件大小,使其占用足够的磁盘空间,然后使用seek方法进行制定位置的替换写入操作,这在资源下载时非常有用。

 

 

分享到:
评论

相关推荐

    JSP教程pdf

    JSP运行环境包括Java开发工具包(JDK)和一个支持JSP的Web服务器或应用服务器,如Apache Tomcat。 1.5 JSP页面的测试 测试JSP页面通常需要通过浏览器访问,或者使用Web服务器提供的测试工具。 1.6 JSP与JavaServlet...

    JSP从入门到精通.pdf

    - JavaServer Pages(简称JSP)是一种基于Java的服务器端脚本技术,用于生成动态网页内容。 - JSP允许开发人员将Java代码嵌入到HTML文档中,从而可以在Web服务器上动态生成HTML、XML或其他格式的文档。 - **1.2 ...

    JSP从入门到精通

    此外,还需要设置Java环境(JDK),确保服务器能正确识别并运行Java代码。 **1.5 JSP页面的测试** 测试JSP页面可以通过浏览器直接访问页面URL来完成。开发过程中可能需要使用工具进行调试,确保所有功能都能按预期...

    jsp教程.pdf

    - JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于生成动态网页内容。它允许开发者在HTML代码中嵌入Java代码片段,从而实现网页内容的动态生成。 - **1.2 JSP页面** - JSP页面是包含静态内容(如HTML...

    jsp教程(很好的入门级教程)

    - 需要安装JDK(Java Development Kit)。 - 安装支持JSP的Web服务器,如Tomcat。 - 配置Web服务器以便能够解析和执行JSP文件。 - 设置开发环境,包括IDE(如Eclipse、IntelliJ IDEA等)和必要的库文件。 - **...

    JSP教程

    - JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于创建动态网页。它允许开发者将Java代码嵌入到HTML文档中,从而实现动态内容的生成。 - **1.2 JSP页面** - JSP页面是由HTML标记和嵌入其中的Java代码...

    jsp免费教程

    JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。它允许开发者在HTML页面中嵌入Java代码,从而使得网页具有动态生成内容的能力。JSP通过将动态内容和静态内容分开,使得网站的维护变得更加简单。 ...

    JSP教程(清晰版)

    - **JDK**:提供Java运行环境。 - **Tomcat** 或其他支持JSP的Web容器:用于部署和运行JSP应用。 - **Eclipse** 或其他IDE:方便编写和调试代码。 **1.5 JSP页面的测试** 在开发过程中,测试是非常重要的一步。...

    史上最全面、最透彻、最好的jsp教程

    为了能够运行JSP应用程序,需要在服务器上安装Java Development Kit (JDK) 和 Java Servlet容器(如Tomcat)。此外,还需要配置好环境变量和其他相关设置。 **1.5 JSP页面的测试** 测试JSP页面通常包括以下几个...

    疯狂JAVA讲义

    1.6 Java程序的基本规则 16 1.6.1 Java程序的组织形式 16 1.6.2 Java源文件的命名规则 17 1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,...

    jsp 教程

    - JSP(Java Server Pages)是一种基于Java的技术,用于创建动态网页。它允许开发者将Java代码嵌入到HTML文档中,从而实现动态内容的生成。 - **1.2 JSP页面** - JSP页面是由HTML标记和嵌入其中的Java代码组成的。...

    JSP教程——必看.pdf

    - JSP(JavaServer Pages)是一种基于Java技术的服务器端脚本语言,用于生成动态网页内容。它允许在HTML页面中嵌入Java代码,从而实现更强大的功能。 - **1.2 JSP页面** - JSP页面是由普通的HTML标记、内嵌的Java...

    JSP 详细教程

    - **JDK**:Java Development Kit,用于提供Java编译和运行的支持。 - **Web 服务器**:如Apache Tomcat,负责处理JSP页面请求并返回响应。 - **配置文件**:如web.xml,用于配置应用程序的启动参数和映射关系。 **...

    JSP教程文档_从入门到精通_一步一步学习

    - Java Development Kit (JDK):提供Java编译和运行的支持。 - Java Servlet API 和 JSP API:提供了JSP和Servlet的核心功能支持。 - Web服务器/应用服务器:如Tomcat、Jetty等,用于部署和运行JSP应用。 **1.5 JSP...

Global site tag (gtag.js) - Google Analytics