RandomAccessFile写入内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RandomAccessFile写入内容相关的知识,希望对你有一定的参考价值。

package com.hwadee.IO;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class TestRandomAccessFile
public static void main(String[] args)
try
RandomAccessFile raf = new RandomAccessFile("F:/Java/workspace/华迪培训/com/hwadee/IO/Test.txt","rw");

raf.writeChar('A');
raf.write(new byte[]97,98,99);

raf.close();

catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();





保存以后,我用System.out.println(raf.readLine());输出为_Aabc(_为空格)System.out.println(raf.length());输出为5.请问为什么前面多了个空格啊!

参考技术A 这是因为RandomAccessFile类的方法writeChar(int v),是按双字节值将char 写入该文件,先写高字节,v就是你要写入的char的值。请注意是按双字节写入

第十周课程总结

第十周课程总结

一、RandomAccessFile

用途:File类只是针对文件本身进行操作,而如果想对文件内容进行操作,则可以使用RandomAccessFile类,此类属于随机读取类,可以随机的读取一个文件中指定位置的数据。

RandomAccessFile类的常用操作方法:

技术图片

注意:如果使用了rw的方式声明RandomAccessFile对象时,要写入的文件不存在,系统将会自动进行创建。

二、字节流与字符流

流:在程序中所有的数据都是以 流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。如下图所示:

技术图片

定义:在java.io包中流的操作主要有字节流和字符流两大类,两类都有输入和输出操作。在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类,在字符流中输出的主要是Writer类完成,输入主要是使用Reader类完成。

操作流程:在JavaIO操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:

(1)使用File类打开一个文件。

(2)通过字节流或字符流的子类指定输出的位置。

(3)进行读/写操作。

(4)关闭输入/输出。

字节流

字节流主要是操作byte类型数据,以byte数组为准,主要的操作就是OutputStream类和InputStream类。

以上是关于RandomAccessFile写入内容的主要内容,如果未能解决你的问题,请参考以下文章

Java 核心编程——文件随机读写类(RandomAccessFile)

使用 RandomAccessFile 的最佳方式是 Java

RandomAccessFile的示例

RandomAccessFile写入时中文乱码解决方案

RandomAccessFile的用法

RandomAccessFile--随机访问文件