91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么利用IO流實現簡易的記事本功能

發布時間:2022-05-26 14:13:42 來源:億速云 閱讀:292 作者:iii 欄目:開發技術

這篇文章主要介紹“Java怎么利用IO流實現簡易的記事本功能”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java怎么利用IO流實現簡易的記事本功能”文章能幫助大家解決問題。

要求:編寫一個模擬日記本的程序,通過在控制臺輸入指令,實現在本地新建文件,打開日記本和修改日記本等功能。

指令1代表“新建日記本”,可以從控制臺獲取用戶輸入的日記內容

指令2代表“打開日記本”,讀取指定路徑的TXT文件的內容并輸出到控制臺

指令3代表“修改日記本”,修改日記本中原有的內容

指令4代表保存

指令5代表退出

import java.io.*;
import java.util.Scanner;
public class IO_日記本 {
    /**
     * 模擬日記本程序
     */
    private static String filePath;
    private static String message = "";
 
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("---------日記本---------");
            System.out.println("1.寫日記");
            System.out.println("2.查看日記");
            System.out.println("3.修改日記");
            System.out.println("4.保存");
            System.out.println("5.退出");
            System.out.println("注意:每次輸入內容后記得保存!");
            System.out.print("請輸入操作指令:");
            int command = sc.nextInt();
            switch (command) {
                case 1:
                    // 1:新建文件(寫日記)
                    createFile();
                    break;
                case 2:
                    // 2:打開文件(查看日記)
                    openFile();
                    break;
                case 3:
                    // 3:修改文件
                    editFile();
                    break;
                case 4:
                    // 4:保存
                    saveFile();
                    break;
                case 5:
                    // 5:退出
                    System.out.println("謝謝使用本系統,歡迎下次再來!");
                    System.exit(0);
                    break;
                default:
                    System.out.println("您輸入的指令錯誤!");
                    break;
            }
        }
    }
 
    //寫一個方法寫入文件內容
    private static void createFile() {
        message = "";//新建文件時,暫存文件內容清空
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入內容,停止編寫請輸入:stop");
        StringBuffer stb = new StringBuffer();//用于后期輸入內容的拼接
        String inputMessage = "";
        while (!inputMessage.equals("stop")) {//輸入stop則停止
            if (stb.length() > 0) {
                stb.append("\r\n");//追加換行符
            }
            stb.append(inputMessage);//拼接輸入信息
            inputMessage = sc.nextLine();//獲取輸入信息
        }
        message = stb.toString();//將輸入內容緩存
    }
 
    //寫一個方法保存文件
    private static void saveFile() throws Exception {
        FileWriter out = new FileWriter("文件路徑", true);
        out.write(message + "\r\n");//將輸入內容寫入
        message = "";
        out.close();
    }
 
    //寫一個方法打開文件
    public static void openFile() throws Exception {
        Reader r = new FileReader("文件路徑");
        BufferedReader br = new BufferedReader(r);
//        char[] c = new char[1024];//定義一個桶裝每次讀取多少個數據
//        int len;
//        while ((len = br.read(c)) != -1) {//讀取所有內容,如果讀完所有內容則停止
//            String str = new String(c, 0, len);//每次讀取0到len的所有內容
//            System.out.print(str);//因為讀取時會自動換行所以這里我們不需要換行
//        }
        String line;
        while ((line = br.readLine()) != null) {//一次讀取一行
            System.out.println(line);//因為讀取一行時程序不會自己換行,所以這里我們需要給它換行
        }
        //System.out.println();//讀完換行
    }
 
    //寫一個方法修改文件
    /**
     * 替換
     * @throws IOException
     */
    public static void editFile() throws IOException{
        Scanner sc = new Scanner(System.in);
        //原有的內容
        System.out.println("原文件內容:");
        String str1 =sc.next();;
        //要替換的內容
        System.out.println("修改成:");
        String str2 =sc.next();
        // 讀取
        File file = new File("文件路徑");
        FileReader in = new FileReader(file);
        BufferedReader buf = new BufferedReader(in);//緩沖流
        // 內存流, 作為臨時流
        CharArrayWriter tempStream = new CharArrayWriter();
        // 替換
        String line = null;
        while ( (line = buf.readLine()) != null) {
            // 替換每行中, 符合條件的字符串
            line = line.replaceAll(str1, str2);//正則表達式
            // 將該行寫入內存
            tempStream.write(line+"\r\n");
        }
        // 關閉輸入流
        buf.close();
        // 將內存中的流寫入文件
        FileWriter fw = new FileWriter(file);
        tempStream.writeTo(fw);
        fw.close();
    }
}

關于“Java怎么利用IO流實現簡易的記事本功能”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 黄平县| 德阳市| 广河县| 通河县| 密山市| 白玉县| 忻城县| 巴林左旗| 苍南县| 丰台区| 安仁县| 嵊泗县| 东宁县| 广水市| 荔浦县| 麟游县| 竹北市| 台州市| 交口县| 普陀区| 济源市| 突泉县| 略阳县| 习水县| 平度市| 将乐县| 南投县| 阳春市| 吉林省| 长白| 襄城县| 绩溪县| 贺兰县| 中江县| 柳河县| 松潘县| 平阳县| 东莞市| 锡林浩特市| 南江县|