在b.txt里写进去的总有黑块是为什么,我的代码是
package streamtest2;
import java.io.*;
public class Test {
public static void main(String[] args) {
RandomAccessFile raf1,raf2;
try
{
raf1=new RandomAccessFile("a.txt","r");
raf2=new RandomAccessFile("b.txt","rw");
long p=0;
long l=raf1.length();
String s=null;
while(p<l)
{
s=raf1.readLine();
System.out.println(s);
p=raf1.getFilePointer();
raf2.seek(raf2.length());
raf2.writeUTF(s+"\r\n");
}
raf1.close();
raf2.close();
}
catch(Exception e)
{
}
}
}
RandomAccessFile用writeUTF时输出不正常
如果写字符串,最好不要用writeUTF,因为字符串的编码是不确定的,一般RandomAccessFile 打开文件都是iso-8859-1编码的,即使你的文件是utf-8的,写的时候最好用raf.write(byte[])
关于RandomAccessFile类
首先你的输出文件:student.txt命名有问题,在windows平台下,这个文件的长度,不是你写入数据的具体长度,平台可能会加上几个字符(你可以把第一个student对象的名字改成"a"实验一下),你的测试没有抛异常,可能是你的测试代码正好能组成一个.txt格式的文件,所以平台没有给你加字节。我觉得最好还是...
RandomAccessFile不明白的用法seek有代码请教谢谢了?
抛出:IOException - 如果 pos 小于 0 会发生 I\/O 错误。在你的例子中就是将RandomAccessFile的读取指针设置在0的位置,从0位开始读取数据^^^ 注意查看你读取的空格数量!看错了你是写进去,它只能定位文件中存在的,写进去2,3都还没有数据,指针不可能会指到那儿,所以结果是一样的……...
java文件操作问题
import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class test2 { public static void main(String[] args) { File file = new File("d:\\\\1.txt");\/\/ 你要把某行换掉内容的文件 try { RandomAccessFile raf = new RandomAccessFile(fil...
java操作csv文件
看楼主比较懂,参阅RandomAccessFile类 先用seek(long pos)把指针指向文件最后 然后视你的数据用 writeBytes(String s) \/\/有汉字什么的 writeChars(String s) \/\/一般的字符串 writeUTF(String str) \/\/有UTF-8的字符 写入数据
OutputStreamOutputStream的使用方法
有了writeUTF和readUTF,可以将String与其他数据混合,并使用DataOutputStream恢复,因为数据以Unicode形式存储。double数据使用writeDouble和readDouble方法写入和读取,但要确保读取方法正常工作,必须知道流中数据的位置。对象序列化可能是复杂数据存储和恢复的简单解决方案。RandomAccessFile几乎独立于其他I\/O类库...
IO(八)
RandomAccessFile:随机访问文件,自身具备读写的方法。内部封装了一个byte数组,通过指针对数组的元素进行操作。 通过skipBytes(int x),seek(int x)来达到随机访问。 通过getFilePointer获取指针的位置。 (能完成读写的原理是,其内部 封装了字节输入流和输出流 )构造函数: rw如果文件不...
有关Java的数据传输可以细分为哪几方面呢?
有一个重要的类RandomAccessFile实现了DataInput和DataOutput两个接口使得他能够对文件同时进行写和读的操作。在DataInputStream和DataOutputStream两个类中的方法都很简单,基本结构为readXXXX()和writeXXXX()其中XXXX代表基本数据类型或者String。在这里不多讲述,不过值得一提的是我们有必要读读java中unicode...
java中怎么用randomaccessfile把前10个换成大写字母,* 后10个替换为数...
public Account2(String l, long p){ super(l);position = p;} public void saveFile(){ try { RandomAccessFile raf = new RandomAccessFile("d:\\\\myTxtFile.txt", "rw");raf.seek(position);String newContents = "my new contents here";raf.writeUTF(newContents);} catch (Exception...
用java输入输出流自动打开文件后如何在文件末尾追加一行字符串_百度知 ...
\/\/ 使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容 public static void appendMethod_one(String fileName, String content) { try { \/\/ 按读写方式创建一个随机访问文件流 RandomAccessFile raf = new RandomAccessFile(fileName, "rw");long fileLength = ...