我需要读去一个文本文件,然后把文件每一行的第25~30个字符设为#号,然后把每一行都输出到另外一个文件当中while((String s1=in.readLine())!=null)
{
s1 转换为 char 数组;
for 循环
{
数组第25~30个设#号;
}
char 数组 转换为 String s2;
输出 s2;
}
有没有比这更好的方法呢?
特别想优化一下那转换过程
{
s1 转换为 char 数组;
for 循环
{
数组第25~30个设#号;
}
char 数组 转换为 String s2;
输出 s2;
}
有没有比这更好的方法呢?
特别想优化一下那转换过程
如果你的文件操作不是很大,可以把文件读入内存中并添加#号后再一起写入文件
或者读到一定量后再写入,不要每行写一次。这样会提高速度2:string操作
for(int i=25;i<30 && i<chars.length;i++)
{
chars[i]='#';
}
public static void main(String[] args) throws IOException {
if (args.length < 2) {
System.out.println("You must specify source and destination text file.");
return;
}
File fi = new File(args[0]);
File fo = new File(args[1]);
BufferedReader reader = new BufferedReader(new FileReader(fi));
BufferedWriter writer = new BufferedWriter(new FileWriter(fo));
int ch = -1;
int cnt = 0;
try {
while ((ch = reader.read()) >= 0) {
cnt ++;
if (ch == '\r' || ch == '\n')
cnt = 0;
if (cnt >= 25 && cnt <= 30) {
writer.write('#');
} else {
writer.write(ch);
}
}
} finally {
reader.close();
writer.close();
}
}
}