有关java中RandomAccessFile的问题
在java中的随机读写文件类RandomAccessFile中有两个向文件中写入字符串的方法,一个是writeChars另一个是writeUTF。1:当用这两种方法向文件...
在java中的随机读写文件类RandomAccessFile中有两个向文件中写入字符串的方法,一个是writeChars另一个是writeUTF。
1:当用这两种方法向文件写入的时候,文件指针(file pointer)的移动情况一样吗(即同样在空的文件中插入“你好”后getFilePinter()的值一样吗)?
2:在写等长记录格式的文件时,用其中的哪一种最好,还是两者皆可?
3:在用writeChars()写入,能否用readUTF()读取,用writeUTF写入能否用
readChar()读取?
请高手给予帮助,谢谢了。
问题的第二点的“在写等长记录格式的文件”指的是每次写入的内容的长度是固定的,比如都是100字节,以方便定位读取。
问题的第二点的意思是;在向文件中写入的时候,不同情况下用哪种方法最好。 展开
1:当用这两种方法向文件写入的时候,文件指针(file pointer)的移动情况一样吗(即同样在空的文件中插入“你好”后getFilePinter()的值一样吗)?
2:在写等长记录格式的文件时,用其中的哪一种最好,还是两者皆可?
3:在用writeChars()写入,能否用readUTF()读取,用writeUTF写入能否用
readChar()读取?
请高手给予帮助,谢谢了。
问题的第二点的“在写等长记录格式的文件”指的是每次写入的内容的长度是固定的,比如都是100字节,以方便定位读取。
问题的第二点的意思是;在向文件中写入的时候,不同情况下用哪种方法最好。 展开
2个回答
展开全部
writeChar
public final void writeChar(int v)
throws IOException按双字节值将 char 写入该文件,先写高字节。写入从文件指针的当前位置开始。
writeChars
public final void writeChars(String s)
throws IOException按字符序列将一个字符串写入该文件。每个字符均写入数据输出流,类似于使用 writeChar 方法。写入从文件指针的当前位置开始。
readUTF
public final String readUTF()
throws IOException从此文件读取一个字符串。该字符串已使用 UTF-8 修改版格式进行编码。
从当前文件指针开始读取前两个字节,类似于使用 readUnsignedShort。此值给出已编码字符串中随后的字节数,而不是结果字符串的长度。随后的字节然后解释为 UTF-8 修改版格式的字节编码字符,并转换为字符。
在读取了所有字节、检测到流的末尾或者抛出异常前,此方法一直阻塞。
写入方式不一样,不能writeChars() 使用readUTF()读
最好使用UTF格式
public final void writeChar(int v)
throws IOException按双字节值将 char 写入该文件,先写高字节。写入从文件指针的当前位置开始。
writeChars
public final void writeChars(String s)
throws IOException按字符序列将一个字符串写入该文件。每个字符均写入数据输出流,类似于使用 writeChar 方法。写入从文件指针的当前位置开始。
readUTF
public final String readUTF()
throws IOException从此文件读取一个字符串。该字符串已使用 UTF-8 修改版格式进行编码。
从当前文件指针开始读取前两个字节,类似于使用 readUnsignedShort。此值给出已编码字符串中随后的字节数,而不是结果字符串的长度。随后的字节然后解释为 UTF-8 修改版格式的字节编码字符,并转换为字符。
在读取了所有字节、检测到流的末尾或者抛出异常前,此方法一直阻塞。
写入方式不一样,不能writeChars() 使用readUTF()读
最好使用UTF格式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询