gpt4 book ai didi

java - 无法使用 java 程序编辑 .java 文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:41 25 4
gpt4 key购买 nike

我是java初学者。我有一个字符串替换代码,用户在其中指定文件路径、要替换的字符串以及要替换的字符串。该代码适用于 .txt 或 .in 文件。但是,当我尝试编辑我打算为其编写代码的 .java 文件时,它不知何故无法编辑它。有人能指出问题到底出在哪里吗?我的代码如下:

import java.io.*;
import java.util.*;
public class StringReplace{
public static void main(String[] args) throws IOException
{
System.out.println("Enter path of file:");
Scanner sc=new Scanner(System.in);
String path=sc.nextLine();
File f=new File(path);
if (f.canRead())
{
System.out.print("Now enter the string to replace:_");
String oldString=sc.nextLine();
System.out.print("Now enter the string to replace with:_");
String newString=sc.nextLine();
StringBuffer sb=new StringBuffer();
sc=new Scanner(f);
sc.useDelimiter("");
while(sc.hasNext())
{
sb.append(sc.next());
}
sc.close();
FileWriter fw=new FileWriter(path);
PrintWriter pw=new PrintWriter(fw,true);
System.out.println(sb);
pw.println(sb.toString().replaceAll(oldString, newString));
fw.close();
pw.close();
System.out.print("DONE!");
}
else
System.out.println("File Does Not Exist");
}
}
}

最佳答案

正如注释所述,“.java”文件和任何其他文本文件之间应该没有区别。

我怀疑问题在于您没有意识到您的编辑器应用程序实际上是为执行正则表达式搜索/替换而编码的,而不是简单的字符串搜索/替换。 (这就是 String.replaceAll(...) 的作用...)如果无意中提供了包含正则表达式元字符的“要替换的字符串”,您可能会发现它不匹配或者在您不期望的位置匹配。

关于java - 无法使用 java 程序编辑 .java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com