使用RandomAccessFile(随机读写文件流)实现简易记事本

赏逸春
2023-12-01

/**
 * 简易记事本
 * 程序启动后要求用户输入一个文件名,然后对该文件进行操作。
 * 之后用户在控制台输入的每一行字符都写入到该文件中(不用考虑换行问题)
 * 当用户单独输入“exit” 时退出程序
 * @author yyc
 * 2021/9/14 16:08
 */
public class Test10_NoteDemo {
    public static void main(String[] args) throws IOException {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个文件名:");
        String file = scan.nextLine();
        RandomAccessFile raf = new RandomAccessFile(file +".txt","rw");
        //如果下一次运行程序,用户输入的文件名已经存在,在指定每次从该文件末尾写入。
        raf.seek(file.length());
        //写入从控制台输入的数据
        while(true) {
            System.out.println("请输入数据:");
            String line = scan.nextLine();
            if ("exit".equals(line) ){
               break;
            }
            byte[] data = line.getBytes("UTF-8");
            raf.write(data);
        }
        raf.close();
        System.out.println("写出完毕!");
    }
}

 类似资料: