我想制作一个JAVA程序,将指定文件的指定内容全部删除,但不删除被""括起来的部分(即使有要删除的内容)。但是一直做不到,下面是代码:
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.Scanner;
public class pre {
public static String sj;
public static String sj2;
public static void main(String[] args) throws IOException{
Scanner scan = new Scanner(System.in);
System.out.print("请输入文件路径:");
String cvjlwj = scan.nextLine();
System.out.print("请输入删除内容:");
String nuirong = scan.nextLine();
File f = new File(cvjlwj);
String Name = f.getName();
scan.close();
Path cvjl = Paths.get(cvjlwj);
List<String> wj = Files.readAllLines(cvjl, StandardCharsets.UTF_8);
String[] sj0 = wj.toArray(new String[wj.size()]);
sj = sj0[(int) Math.floor(Math.random())];
sj2 = sj.replace(nuirong,"");
sj = sj2;
Files.write(Paths.get(Name),sj.getBytes(StandardCharsets.UTF_8));
}
}
如果用户输入的文件内容如下:
10101010100101100"1010101010"
要求删除“1”。
则按照我的想法,应当输出:
000000000"1010101010"
实际上我只能做到:
000000000"00000"
即把所有的“1”删除了。