中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java讀寫ini文件、FileOutputStream問題怎么解決

發布時間:2023-04-11 16:10:46 來源:億速云 閱讀:108 作者:iii 欄目:開發技術

這篇文章主要介紹“java讀寫ini文件、FileOutputStream問題怎么解決”,在日常操作中,相信很多人在java讀寫ini文件、FileOutputStream問題怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java讀寫ini文件、FileOutputStream問題怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

java讀寫ini文件、FileOutputStream

在查看文檔的情況下,知道要讀取類似于鍵值對的文件,java已經給我提供了一個叫 Properties的類,簡單如下:

    File file = new File("../JavaPractice/a.txt");
        try {
            FileInputStream inputStream = new FileInputStream(file);
            Properties properties = new Properties();
            properties.load(inputStream);//把文件中的內容放在流里面
            properties.list(System.out);//通過這個方法把內容打印出來

            inputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

打印如下:

-- listing properties --
a=b
12=222
asdasd1=asd111122
12123=123222

如果要直接使用鍵得到值得代碼如下:

File file = new File("../JavaPractice/a.txt");
        try {
            FileInputStream inputStream = new FileInputStream(file);
            Properties properties = new Properties();
            properties.load(inputStream);//把文件中的內容放在流里面
//          properties.list(System.out);//通過這個方法把內容打印出來
            System.out.println(properties.get("a"));//通過get方法得到對應值
            System.out.println(properties.get("0"));//如果沒有對應的值就為null
            inputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

打印結果:

b

null

使用properties.set()方法存值

File file = new File("../JavaPractice/a.txt");
        try {
            FileInputStream inputStream = new FileInputStream(file);
            Properties properties = new Properties();
            properties.load(inputStream);//把文件中的內容放在流里面
//          properties.list(System.out);//通過這個方法把內容打印出來
            System.out.println(properties.get("a"));//通過get方法得到對應值
            System.out.println(properties.get("0"));//如果沒有對應的值就為null

            properties.setProperty("java", "love java");//使用此方法存值
            inputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

我以為就這樣就存進去,滿懷欣喜的打開文件,發現并沒有真正的存入值,但是我又試著使用properties.get()方法,卻能得到我放進去的值,很是疑惑,只得再次看api。

File file = new File("../JavaPractice/a.txt");
        try {
            FileInputStream inputStream = new FileInputStream(file);
            Properties properties = new Properties();
            properties.load(inputStream);//把文件中的內容放在流里面
//          properties.list(System.out);//通過這個方法把內容打印出來
            System.out.println(properties.get("a"));//通過get方法得到對應值
            System.out.println(properties.get("0"));//如果沒有對應的值就為null

            properties.setProperty("java", "love java");//使用此方法存值
            FileOutputStream outputStream = new FileOutputStream(file);
            properties.store(outputStream, null);//只有調用這個方法才能寫進文件,因為前面set方法只是寫在流里面,直到調用這個方法才真正的寫入文件里。
            inputStream.close();
            outputStream.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

new FileOutputStream 的位置有關系嗎?

如果把FileOutputStream outputStream = new FileOutputStream(file);放在load前面,那么文件里面所有的信息都會被覆蓋,放在load后面就不會了,因為load后就保存在一個流里面。

因為FileOutputStream outputStream = new FileOutputStream(file);就默認覆蓋文件,直接是文件為空,除非FileOutputStream outputStream = new FileOutputStream(file,true);,所有有的時候初學者會把這些東西搞混淆,最后怎么出錯也不知道。(汗顏!!!我也出過這個錯誤……)

最后細心的朋友可能會發現我并不是.ini文件,對的,我發現并不是只有ini文件才能做這樣的操作,所以我就多試驗了下。

java讀寫ini文件、FileOutputStream問題怎么解決

到此,關于“java讀寫ini文件、FileOutputStream問題怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

淮阳县| 浦江县| 安达市| 津市市| 新泰市| 河东区| 江川县| 仙桃市| 深水埗区| 拉萨市| 海南省| 上虞市| 斗六市| 成都市| 彰化市| 吉林省| 南雄市| 马关县| 平山县| 五原县| 宿松县| 长顺县| 九龙城区| 明星| 中山市| 内乡县| 犍为县| 莎车县| 昭觉县| 武隆县| 华容县| 祁门县| 方正县| 宾川县| 宿松县| 岗巴县| 石首市| 特克斯县| 昌都县| 呼玛县| 光山县|