请问各位,如何从指定文件中删除指定的字符串啊?比如我“1.txt”的内容是“student:john jane hanly”,我在控制台 输入“java deleteText john 1.txt”则“1.txt”的内容变成“student:jane hanly”,请问如何实现这样的功能啊?(这个deleteText为java文件名)

解决方案 »

  1.   


    import java.io.*;public class DeleteTest {
    public static void main(String[] args) throws IOException {
    if(args.length != 2) {
    System.out.println("请输入正确的参数!");
    return;
    }
    //取得参数
    String del = args[0];
    String fileName = args[1];

    //读取参数文件中的内容
    File f = new File(fileName);
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    StringBuffer sb = new StringBuffer();
    String line;
    while((line = br.readLine()) != null) {
    sb.append(line);
    }
    br.close();

    //删除读入文件中所有待删除的内容
    while(sb.indexOf(del) > -1) {
    int start = sb.indexOf(del);
    int end = start + del.length();
    sb = sb.delete(start, end);
    }

    //把结果写入文件
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f)));
    bw.write(sb.toString());
    bw.close();
    }
    }
      

  2.   


    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.Scanner;public class kaoshi {


    public static void main(String[] args) {
        System.out.println("请输入你要删除的字符串:");
        String getdeletedStr;
        Scanner scanner = new Scanner(System.in);
        getdeletedStr = scanner.next();
    File f1 = new File("D:\\1.txt");
    File f2 = new File("D:\\2.txt");
    BufferedReader reader1 = null;
    FileWriter write1 = null;
    try {
    reader1 = new BufferedReader(new FileReader(f1)); write1 = new FileWriter(f2); String line = null;
    while ((line = reader1.readLine()) != null) {
    for (int i = 0; i < line.length(); i++) {
    if (line.indexOf(getdeletedStr) != -1) {
    line = line.replace(getdeletedStr, ""); }
    }
    write1.write(line);
    }
    } catch (IOException e) {
    System.out.println("出现异常");
    } finally {
    try {
    reader1.close();
    write1.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }
    }
    }我这里把1.txt删除后的内容复制到2.txt里面了