java替换文本使用命令行

问题遇到的现象和发生背景

刚跟着黑皮书学了一下。到了替换文本这里。发现使用命令行指令替换文本发生错误,也不知道错误在哪,就一直提示找不到指定路径。我也很奇怪,明明书上就是这么写的。java DeleteTxt Homework\12.11\s1.txt Homework\12.11\s2.txt not sure。java命令行替换文本不是Java classname filename filename1 oldString newString 吗。


```java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;


public class DeleteTxt {
    public static void main(String[] args) {
        File targetFile = new File(args[0]);
        File targetFile1 = new File(args[1]);
        if (targetFile.exists()) {
            System.out.println("TargetFile is " + " exist");
        }
        try{
            Scanner input = new Scanner(targetFile);
            PrintWriter out = new PrintWriter(targetFile1);
            while (input.hasNext()){
                String s1 = input.nextLine();
                String s2 = s1.replaceAll("not","sure");
                out.println(s2);
                System.out.println("ok");
            }
            out.close();
        }
        catch (FileNotFoundException ex){
            System.out.println(ex);
        }
    }
}

运行结果及报错内容

Error running 'DeleteTxt': Cannot run program "D:\java jdk\jdk1.8.0_212\bin\java.exe" (in directory "D:\2022—IDEA—project\begin\Homework"): D:\2022—IDEA—project\begin\Homework\java DeleteTxt Homework\12.11\s1.txt Homework\12.11\s2.txt not sure (系统找不到指定的路径。)

我的解答思路和尝试过的方法

这个不行我就换成 Java DeleteTxt s1.txt s2.txt not sure了还是不行。

我想要达到的结果

请问哪里错了。

系统找不到指定的文件\s2.txt ,是jdk配置的问题
1.查看环境变量,如果环境变量中配置的不是jdk1.8就会报错
2.idea配置的jdk需要与环境变量一致
参考这篇文章https://blog.csdn.net/weixin_52247889/article/details/121415054

看你路径里面写了中文的【短横线】符号,考虑将其改一下吧!避免莫名其妙的问题

看一下这里哦
http://www.java265.com/JavaJingYan/202209/16633854724453.html

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

img

我把文本都放在和java文件夹一个地方了,还是找不到指定文件。