本文目录一览:
关于Java文件删除某一行(Java高手进)
Java API中是没有这样的函数可以直接一调用的。但java.io.LineNumberReader类提供了定位行号的方法,或许可以有用。这是我的方法,试试看:
try {
//从文件中读取,LineNumberReader提供方法setLineNumber(int lineNumber)定位当前行号
LineNumberReader reader = new LineNumberReader(new FileReader("data.sql"));
BufferedWriter writer = new BufferedWriter(new FileWriter("temp.txt"));
String sql ;
while( (sql=reader.readLine())!=null ){
;//执行sql语句,这里也可将本行的语句sql保存到另一个temp.txt文件中,如果本行是被删除的语句,就不保存了,
//执行完后删除data.sql,保存temp.txt就行了,
//这样可以保证data.sql是里面的几百万条记录不被读取到内存
writer.write(sql);//在这里可以判断本行是否要被删除,如要保存就将其保存至temp.txt
}
reader.close();
writer.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JAVA如何删除文本文档里的某一行
你可以用StreamReader一行一行地读,直到读完,你把读到的每一行加到ArrayList对象中存放,然后遍历这个ArrayList对象,对每一行进行判断处理,不要的直接删除,然后再用StreamWriter把ArrayList对象中的数据重写到文件中,原来的文件覆盖掉。
java怎么去除文本 相同 的部分
import java.io.*;
public class Demo2 {
public static void main(String[] args) {
new Demo2().deleteDirFilesLikeName("c:/demo","12345");
}
//删除文件名包含指定字符的文件
public void deleteFilesLikeName(File file, String likeName){
if(file.isFile()){
//是文件
String temp = file.getName().substring(0,file.getName().lastIndexOf("."));
if(temp.indexOf(likeName) != -1){
file.delete();
}
} else {
//是目录
File[] files = file.listFiles();
for(int i = 0; i files.length; i++){
deleteFilesLikeName(files[i], likeName);
}
}
}
//删除某目录下文件名字包含指定字符的文件
public void deleteDirFilesLikeName(String dir, String likeName){
File file = new File(dir);
if(file.exists()){
deleteFilesLikeName(file, likeName);
} else {
System.out.println("路径不存在");
}
}
}