最近发现一个问题,我使用java的IO 在做输入输出,输出文件总是会少差不多一百个数据,看程序也是处理的,不知道写入文件的时候是否犯了错误,有兴趣的看下:代码如下:
package com.csc.exportTxt.write;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
public class Demo25{
/**
* 去掉括号里的内容
* 返回字符串
* @author
*/
public static String compare(String str) {
String re = str;
int m = 0;
int n = 0;
int x =0;
int y =0;
if(str ==" "){
return re;
}
else{
char c [] = str.toCharArray();
for(int i=0;i
StringBuffer sb= new StringBuffer();
sb.append(c[i]);
if(sb.toString().equals("(")){
m = i;
}
if(sb.toString().equals(")")){
n = i;
}
if(sb.toString().equals("(")){
x = i;
}
if(sb.toString().equals(")")){
y = i;
}
}
if(m!=0&&n!=0){
StringBuffer s = new StringBuffer();
for (int i = 0; i < m; i++) {
s.append(c[i]);
}
for (int j = n+1; j < c.length; j++) {
s.append(c[j]);
}
re = s.toString();
}
if(x!=0&&y!=0){
StringBuffer s = new StringBuffer();
for (int i = 0; i < x; i++) {
s.append(c[i]);
}
for (int j = y+1; j < c.length; j++) {
s.append(c[j]);
}
re = s.toString();
}
}
return re;
}
public static void main(String[] args) {
String FilePath ="d://csc_nameA2B.txt";
String Outpath ="d://csc_nameA2B1.txt";
try
{
FileInputStream fis=new FileInputStream(FilePath);
InputStreamReader isr=new InputStreamReader(fis,"utf-8");
BufferedReader line=new BufferedReader(isr);
StringBuffer write;
FileOutputStream outSTr = new FileOutputStream(new File(Outpath));
BufferedOutputStream Buff = new BufferedOutputStream(outSTr);
String s1 = new String();
String enter = "\r\n";
int i =1;
while((s1=line.readLine())!=null)
{
System.out.println(i);
write = new StringBuffer();
String str = compare(s1);
write.append(str+enter);
Buff.write(write.toString().getBytes("UTF-8"));
i = i+1;
}
fis.close();
line.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
2012年10月23日 09:30