从文件读取时,是否可以使用StringBuilder替换某些字符?

时间:2019-03-28 02:56:24

标签: java string

我尝试使用Scanner读取.java文件并替换某些字符,然后再将其另存为.html。向用户显示一个JFileChooser来选择.java,必须将<和>符号转换为&lt和&gt(依此类推)。

我曾经尝试过使用charAt,但是那只能让我用1个单个字符替换现有字符。也尝试过.replace()但我不熟悉

JFileChooser fc = new JFileChooser();
        FileNameExtensionFilter filter = new FileNameExtensionFilter(null, "java");
        fc.setFileFilter(filter);
        int returnVal = fc.showOpenDialog(null);

        StringBuilder sb = new StringBuilder();
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            Scanner scan = new Scanner(file);

            while (scan.hasNext()) {
                String s = scan.next();
                sb.append(s + " ");

            }

            sb.insert(0, "<html><body>\n" + "<h1>Demo.java</h1><pre>\n");
            sb.append("\n</pre></body></html>");
            System.out.println(sb);
            scan.close();
        }

这是我正在读取的文件(无关代码):

public class Demo{  

public static void main(String[] args)
{
    if(args.length < 4 && args.length>2)
    {
        if(args[0].equals("hey") &&
                [1].equals("there")
                System.out.println("Greet!");

    }
}

} 我可以在以后找到格式,给定的代码为我提供了以下输出:     

Demo.java

public class Demo{ public static void main(String[] args) { if(args.length<4&&args.length>2) { if(args[0].equals("hey")&& args[1].equals("there") System.out.println("Greet!"); } } } 

0 个答案:

没有答案