我用BufferedReader 读取一个文件,读取后做一定处理再写入另一个文件。
但每次执行时BufferedReader 读取总是不能把文件读完整。 代码如下:
String sPath = "Date//";
File file = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat");
File filebak = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat"+".bak");
file.renameTo(filebak);
int i = 0;
String sNewDuebillNo = "",s = "";
try{
BufferedReader br = new BufferedReader(new FileReader(filebak));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
do{
s = br.readLine();
//处理文件内容
sNewDuebillNo = processDuebillNo(s.substring(0, s.indexOf("|")),"");
i ++;
System.out.println(i);
bw.write(sNewDuebillNo + s.substring(s.indexOf("|"))+"\n");
}while(br.readLine() != null);
bw.flush();
}catch(Exception e){
e.printStackTrace();
} String sPath = "Date//";
File file = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat");
File filebak = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat"+".bak");
file.renameTo(filebak);
int i = 0;
String sNewDuebillNo = "",s = "";
try{
BufferedReader br = new BufferedReader(new FileReader(filebak));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
do{
s = br.readLine();
//处理文件内容
sNewDuebillNo = processDuebillNo(s.substring(0, s.indexOf("|")),"");
i ++;
System.out.println(i);
bw.write(sNewDuebillNo + s.substring(s.indexOf("|"))+"\n");
}while(br.readLine() != null);
bw.flush();
}catch(Exception e){
e.printStackTrace();
}
但每次执行时BufferedReader 读取总是不能把文件读完整。 代码如下:
String sPath = "Date//";
File file = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat");
File filebak = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat"+".bak");
file.renameTo(filebak);
int i = 0;
String sNewDuebillNo = "",s = "";
try{
BufferedReader br = new BufferedReader(new FileReader(filebak));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
do{
s = br.readLine();
//处理文件内容
sNewDuebillNo = processDuebillNo(s.substring(0, s.indexOf("|")),"");
i ++;
System.out.println(i);
bw.write(sNewDuebillNo + s.substring(s.indexOf("|"))+"\n");
}while(br.readLine() != null);
bw.flush();
}catch(Exception e){
e.printStackTrace();
} String sPath = "Date//";
File file = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat");
File filebak = new File("E:\\Work\\Workspace\\AmarGCI\\data\\BusinessInfo.dat"+".bak");
file.renameTo(filebak);
int i = 0;
String sNewDuebillNo = "",s = "";
try{
BufferedReader br = new BufferedReader(new FileReader(filebak));
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
do{
s = br.readLine();
//处理文件内容
sNewDuebillNo = processDuebillNo(s.substring(0, s.indexOf("|")),"");
i ++;
System.out.println(i);
bw.write(sNewDuebillNo + s.substring(s.indexOf("|"))+"\n");
}while(br.readLine() != null);
bw.flush();
}catch(Exception e){
e.printStackTrace();
}
解决方案 »
- smgp中的deliver包中的状态报告中的content解码
- 关于txt的
- Socket程序中的while循环问题
- 这个正则表达式为什么是这个意思?
- 有什么办法让jre在安装之后自动设置系统的环境变量?
- 能否举一个socket.setSoTimeout的例子?
- j2sdk包中的sun.*.*中的源程序在哪里可以看得到??
- 用于连接ACCESS的JDBC driver除了jdbc:odbc之外,到哪下载啊?请大家提供一下?
- 请问在JLIST的渲染器单元中可不以监听鼠标事件,200分
- 怎么把一个jar包里的类交给spring管理并进行aop
- mysql sql插入语句问题 java
- 在学习《Java学习笔记(JDK6)》这本书中有几个不明白的问题想请教各位!
sNewDuebillNo = processDuebillNo(s.substring(0, s.indexOf("|")),"");
i ++;
System.out.println(i);
bw.write(sNewDuebillNo + s.substring(s.indexOf("|"))+"\n");
}