1:先取到文件的行数(csv格式的文件)
2:生成从1到文件行数N的随机数m
3:检查m行是否包含特征字符“String”
4:如果是则替换为“nihao”,计数器+1,否则继续从第2步开始,直到计数器到1万
求大侠帮我用java写一下程序,不胜感激~~~~~
[code="java"][/code]
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Random;
public class Csvparser{
private int getToolNum(){
int n = 0;
try {
//open the file
BufferedReader reader = new BufferedReader(
new FileReader("E:/workspace1/test/src/javaeyetest.csv"));
String str=null;
while(true){
str= reader.readLine();
n++;
if(str ==null)break;
}
} catch (Exception e) {
// TODO: handle exception
}
int tolnum = n-1;
System.out.println("wen jian zui da hang shu ="+ tolnum);
return n-1;
}
private void tiHuan( int num,int toolNum){
try {
//open the file
BufferedReader reader = new BufferedReader(
new FileReader("E:/workspace1/test/src/javaeyetest.csv"));
FileOutputStream fos = new FileOutputStream(
"E:/workspace1/test/src/javaeyetest1.csv");
PrintStream stream = new PrintStream(fos);
String str=null;
for(int i = 0;i < toolNum;i++){
if(i == 4){
String strr = reader.readLine().replace("string","nihao");
stream.println(strr);
continue;
}
str= reader.readLine();
stream.println(str);
}
} catch (Exception e) {
// TODO: handle exception
}
}
private int suiJi(int toolNum){
Random r=new Random();
int sj = r.nextInt(toolNum);
System.out.println("sheng cheng sui ji shu ="+sj);
return sj;
}
public static void main(String argn[])throws IOException{
Csvparser ctx=new Csvparser();
for(int i = 0;i<10;i++){
ctx.tiHuan(ctx.suiJi(ctx.getToolNum()), ctx.getToolNum());
}
}
}