我现在写了一个程序 是读取文本进行数据操作的 我想每读取一行如果处理成功的话就把这行作上标记
我写的程序如下:
import java.io.RandomAccessFile;
/**
* 要读取的文件大致如下
0,abc
0,efg
0,hij
* 0 是表示次行未读取 一旦读取次行 将0变为1
* @author Administrator
*
*/
public class Test {
public static final String fileName = "c:/aaa.txt";
public static void main(String[] args) {
try {
//设置fileName为读写操作
RandomAccessFile rF = new RandomAccessFile(fileName, "rw");
String data = null;
for (int i = 0; i < rF.length(); i++) {
data = new String(rF.readLine().getBytes("ISO-8859-1"), "GB2312");
System.out.println(data);
rF.seek(i);
byte b = rF.readByte();
System.out.println("i>>>" + i + "<>" + "b>>>" + (char) b);
if (b == '0') {
rF.seek(i);
rF.writeByte(1);
}
i = i + data.length();
}
rF.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
我上面的程序在读取的时候找不到标示位置 希望有人帮忙看看
我写的程序如下:
import java.io.RandomAccessFile;
/**
* 要读取的文件大致如下
0,abc
0,efg
0,hij
* 0 是表示次行未读取 一旦读取次行 将0变为1
* @author Administrator
*
*/
public class Test {
public static final String fileName = "c:/aaa.txt";
public static void main(String[] args) {
try {
//设置fileName为读写操作
RandomAccessFile rF = new RandomAccessFile(fileName, "rw");
String data = null;
for (int i = 0; i < rF.length(); i++) {
data = new String(rF.readLine().getBytes("ISO-8859-1"), "GB2312");
System.out.println(data);
rF.seek(i);
byte b = rF.readByte();
System.out.println("i>>>" + i + "<>" + "b>>>" + (char) b);
if (b == '0') {
rF.seek(i);
rF.writeByte(1);
}
i = i + data.length();
}
rF.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
我上面的程序在读取的时候找不到标示位置 希望有人帮忙看看
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货