亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

即使文件中有文本,BufferedReader readline 也會讀取 null

即使文件中有文本,BufferedReader readline 也會讀取 null

FFIVE 2023-11-10 16:37:37
基本上,我正在嘗試創建一個簡單的數據庫應用程序,并在每個學生條目中自動生成 ID。程序讀取前一個最高的 ID 并加 1 以創建下一個。然而,即使文本文檔中有數字,BufferedReader 在使用 readLine 時仍然返回 null我檢查了我的 int 解析是否是問題,但我通過將 readline 保存到變量然后打印它,意識到這是 bufferedreader,我得到的結果為 null。我還嘗試使用掃描儀文件讀取,但這不起作用,我檢查了所有相關的類和方法以嘗試找出答案。此代碼創建 topsid 文件并寫入 0 來初始化它,該文件被讀取為 nullif(MiscProcesses.firstStartup() == false) //method that checks if these files exist{                File topsid = new File("topsid.txt");                FileWriter fw = new FileWriter(topsid);                fw.write("0");                fw.close();}此代碼負責讀取文件,從而找到更高的 id 值Student (String[] studata) {            //checking highest SID            File topsid = new File("topsid.txt");            FileWriter fw = new FileWriter(topsid);            FileReader fr = new FileReader(topsid);            BufferedReader br = new BufferedReader(fr);            //checking high sid file and getting new sid            String test = br.readLine();            System.out.println(test+" <test");   <this ends up printing null            int sid;            sid = Integer.parseInt(test)+1;            System.out.println(sid);            fw.write(Integer.toString(sid));            this.id = sid;            ...            br.close();            fr.close();            fw.close();        }當我在第二個代碼運行之前打開 topsid 文件時,一切都很好,并且文件包含零。我希望 bufferedreader 讀取“0”,但它只是讀取 null,當我在代碼運行后打開文件時,里面的數據會被刪除。
查看完整描述

1 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

     FileWriter fw = new FileWriter(topsid);

        FileReader fr = new FileReader(topsid);

        BufferedReader br = new BufferedReader(fr);

創建FileWriter這樣的文件會在您讀取其內容之前破壞現有文件。


如果您想從文件中讀取某些內容,然后寫回某些內容,請在讀取FileWriter 后創建 。


查看完整回答
反對 回復 2023-11-10
  • 1 回答
  • 0 關注
  • 236 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號