// 关于创建参数
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运行环境包括Java开发工具包(JDK)和一个支持JSP的Web服务器或应用服务器,如Apache Tomcat。 1.5 JSP页面的测试 测试JSP页面通常需要通过浏览器访问,或者使用Web服务器提供的测试工具。 1.6 JSP与JavaServlet...
- JavaServer Pages(简称JSP)是一种基于Java的服务器端脚本技术,用于生成动态网页内容。 - JSP允许开发人员将Java代码嵌入到HTML文档中,从而可以在Web服务器上动态生成HTML、XML或其他格式的文档。 - **1.2 ...
此外,还需要设置Java环境(JDK),确保服务器能正确识别并运行Java代码。 **1.5 JSP页面的测试** 测试JSP页面可以通过浏览器直接访问页面URL来完成。开发过程中可能需要使用工具进行调试,确保所有功能都能按预期...
- JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于生成动态网页内容。它允许开发者在HTML代码中嵌入Java代码片段,从而实现网页内容的动态生成。 - **1.2 JSP页面** - JSP页面是包含静态内容(如HTML...
- 需要安装JDK(Java Development Kit)。 - 安装支持JSP的Web服务器,如Tomcat。 - 配置Web服务器以便能够解析和执行JSP文件。 - 设置开发环境,包括IDE(如Eclipse、IntelliJ IDEA等)和必要的库文件。 - **...
- JSP(JavaServer Pages)是一种基于Java的服务器端技术,用于创建动态网页。它允许开发者将Java代码嵌入到HTML文档中,从而实现动态内容的生成。 - **1.2 JSP页面** - JSP页面是由HTML标记和嵌入其中的Java代码...
JSP(JavaServer Pages)是一种基于Java的技术,用于创建动态网页。它允许开发者在HTML页面中嵌入Java代码,从而使得网页具有动态生成内容的能力。JSP通过将动态内容和静态内容分开,使得网站的维护变得更加简单。 ...
- **JDK**:提供Java运行环境。 - **Tomcat** 或其他支持JSP的Web容器:用于部署和运行JSP应用。 - **Eclipse** 或其他IDE:方便编写和调试代码。 **1.5 JSP页面的测试** 在开发过程中,测试是非常重要的一步。...
为了能够运行JSP应用程序,需要在服务器上安装Java Development Kit (JDK) 和 Java Servlet容器(如Tomcat)。此外,还需要配置好环境变量和其他相关设置。 **1.5 JSP页面的测试** 测试JSP页面通常包括以下几个...
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(Java Server Pages)是一种基于Java的技术,用于创建动态网页。它允许开发者将Java代码嵌入到HTML文档中,从而实现动态内容的生成。 - **1.2 JSP页面** - JSP页面是由HTML标记和嵌入其中的Java代码组成的。...
- JSP(JavaServer Pages)是一种基于Java技术的服务器端脚本语言,用于生成动态网页内容。它允许在HTML页面中嵌入Java代码,从而实现更强大的功能。 - **1.2 JSP页面** - JSP页面是由普通的HTML标记、内嵌的Java...
- **JDK**:Java Development Kit,用于提供Java编译和运行的支持。 - **Web 服务器**:如Apache Tomcat,负责处理JSP页面请求并返回响应。 - **配置文件**:如web.xml,用于配置应用程序的启动参数和映射关系。 **...
- Java Development Kit (JDK):提供Java编译和运行的支持。 - Java Servlet API 和 JSP API:提供了JSP和Servlet的核心功能支持。 - Web服务器/应用服务器:如Tomcat、Jetty等,用于部署和运行JSP应用。 **1.5 JSP...