比如说有这样一个TXT文件:
111
222
333
444
666
777
888
现在我要修改:第5行,即“666”前, 插入一行“555”,其它的数据不变,即结果为:
111
222
333
444
555
666
777
888
不知道有什么好的解决方法,多多指教!
111
222
333
444
666
777
888
现在我要修改:第5行,即“666”前, 插入一行“555”,其它的数据不变,即结果为:
111
222
333
444
555
666
777
888
不知道有什么好的解决方法,多多指教!
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(fileName)));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(tFileName)));
String line = reader.readLine();
int num = 0;
while (line != null) {
writer.write(line);
writer.write(0x0d);
writer.write(0x0a);
if( n == ++num){
writer.write(insertStr);
writer.write(0x0d);
writer.write(0x0a);
}
line = reader.readLine();
}
reader.close();
}
后加入:
writer.close();
* @author Administrator
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
public class InsertLine { public static void main(String[] args) {
File f = new File(args[0]);
try{
LineNumberReader lnr = new LineNumberReader(new FileReader(f));
FileWriter fw = new FileWriter(new File("aaa.txt"));
int k = 0;
while(true){
String str = lnr.readLine();
System.out.println(str);
if(k == 4){
fw.write("555");
fw.write("\t");
fw.flush();
}else{
fw.write(str);
fw.write("\t");
fw.flush();
}
k++;
}
}catch(Exception e){
}
}
}