Java简易的文本编译器

import java.io.*;
import java.util.Scanner;
/**
 * 简易的文本编译器(3个方法)
 * openFile() 打开一个文件
 * saveFile() 保存一个文件
 * findAndReplace() 查找替换
 * @author 小仓
 */
public class TextEditor {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("欢迎使用简易文本编译器!");
        while (true){
            System.out.println("/n请选择您的操作:");
            System.out.println("1、打开文件"+"\t"+"2、保存文件"+
                    "\t"+"3、查找替换"+"\t"+"4、退出");
            int choise = scanner.nextInt();
            scanner.nextLine();
            switch (choise){
                case 1:
                    openFile(scanner);
                    break;
                case 2:
                    saveFile(scanner);
                    break;
                case 3:
                    findAndReplace(scanner);
                    break;
                case 4:
                    System.out.println("感谢使用简易文本编辑器!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("无效的选项,请重新选择!");
                    break;
            }
        }
    }

    /**
     * 读取用户想要查看的文件,并显示文件内容
     * @param scaner
     */
    public static void openFile (Scanner scaner){
        System.out.println("请输入要打开的文件路径:");
        String filePath = scaner.nextLine();
        File file = new File(filePath);
        if (file.exists()){
            try (
                    FileReader fr = new FileReader(filePath);
                    BufferedReader br = new BufferedReader(fr);
            ){
                StringBuilder sb = new StringBuilder();
                String line ;
                //读取文件内容并添加到sb 对象中。并且读完一行换行
                while ((line = br.readLine())!=null) {
                    sb.append(line).append("\n");
                }
                System.out.println("文件内容如下:");
                System.out.println(sb);
            } catch (IOException e) {
                System.out.println("读去文件出错");
            }
        }else {
            System.out.println("未找到"+filePath+"文件");
        }
    }

    /**
     * 用户输入要保存文件路径,并输入内容
     * @param scanner
     */
    public static void saveFile(Scanner scanner){
        System.out.println("请输入要保存的文件路径:");
        String filePath = scanner.nextLine();

        System.out.println("请输入文件内容(输入exit结束):");
        try (FileWriter fw = new FileWriter(filePath);
             BufferedWriter bw = new BufferedWriter(fw);
        ){
            String line;
            while (!"exit".equals(line  = scanner.nextLine())){
                PrintWriter pw = new PrintWriter(bw);
                pw.println(line);
            }
            System.out.println("文件保存成功");
        } catch (IOException e) {
            System.out.println("保存文件出错");
        }
    }

    /**
     * 替换文件内容,首先查找想要修改的目录,然后在文件中查找要修改的内容,输入修改以后的内容
     * 然后替换
     * @param scanner
     */
    public static void findAndReplace (Scanner scanner){
        System.out.println("请输入要查找替换的文件路径:");
        String filePath = scanner.nextLine();
        try {
            FileReader fr = new FileReader(filePath);
            BufferedReader br = new BufferedReader(fr);
            StringBuilder sb = new StringBuilder();
            String line ;
            while ((line = br.readLine()) !=null){
                sb.append(line).append("\n");
            }
            System.out.println("请输入要查找的内容:");
            String find = scanner.nextLine();
            System.out.println("请输入要替换的内容:");
            String and = scanner.nextLine();

            String findand = sb.toString().replace(find,and);
            System.out.println("替换后的内容如下:");
            System.out.println(findand);
        } catch (FileNotFoundException e) {
            System.out.println("文件不存在");
        } catch (IOException e) {
            System.out.println("读取文件出错");
        }


    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好,我是ChitGPT,一个类ChatGPT的AI。根据您的要求,您可以使用Java的Runtime类来设计一个简易编译器。首先,您需要编写源代码并将其保存到文件中。接下来,您可以使用Java的Runtime类来调用命令行工具来编译这个文件。最后,您可以使用Runtime类来运行编译后的程序。 以下是具体步骤: 1.编写源代码: 您可以使用任何文本编辑器编写Java源代码,并将其保存为文件。例如,您可以使用记事本编辑器,并将文件保存为“HelloWorld.java”。 2.使用Runtime类编译代码: 编译Java源代码的最简单方法是使用javac命令行工具。您可以使用Runtime类的exec()方法调用此命令。以下是使用Runtime类编译代码的示例代码: ```java String sourceFile = "HelloWorld.java"; Process compileProcess = Runtime.getRuntime().exec("javac " + sourceFile); compileProcess.waitFor(); ``` 3.使用Runtime类运行程序: 一旦您已经成功编译了源代码,您可以使用Java虚拟机来运行程序。您可以使用Runtime类的exec()方法调用“java”命令,如以下示例所示: ```java String className = "HelloWorld"; Process runProcess = Runtime.getRuntime().exec("java " + className); runProcess.waitFor(); ``` 以上是应用Runtime类设计一个Java语言简易编译器的基本步骤。当然,这只是一个简单的示例,实际的编译器需要更多的功能和细节处理。希望这可以帮助您入门。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值