第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在啟動時將數(shù)據(jù)寫入文件

如何在啟動時將數(shù)據(jù)寫入文件

慕尼黑5688855 2022-12-21 16:47:20
我正在使用下面的代碼在文件中寫入數(shù)據(jù)。public static void writeDataToFile(final String fileName, final String fileContents) {    try {        File file = new File(Environment.getExternalStorageDirectory() + fileName);        if (!file.exists()) {            file.createNewFile();        }        FileWriter writer = new FileWriter(file, true);        writer.append(fileContents);        writer.flush();        writer.close();    } catch (IOException e) {        LogUtility.logInfo(TAG, e.getMessage());    }}這里的FileWriter構(gòu)造函數(shù)采用布爾值,這意味著它每次都將數(shù)據(jù)連接到文件到最后一個數(shù)據(jù)。我想要得到的是有一個文件,其中包含我正在執(zhí)行的活動的日志。我是通過上述代碼實現(xiàn)的。但問題是它總是每次都將日志連接到最后一個數(shù)據(jù)。我想要的是每次都在開始時寫新日志。這樣我就不會在底部搜索文件以獲取最后一個日志。它將在每個時間開始。任何幫助
查看完整描述

3 回答

?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊

如果文件不存在,則說明您已編寫代碼來創(chuàng)建新文件。同樣,如果文件存在,您可以刪除該文件,并創(chuàng)建一個新文件


在刪除舊文件之前,可以將內(nèi)容復(fù)制到一個String中,在寫入文件之前將其添加到要寫入文件的內(nèi)容中。


StringBuilder contentToWrite = new StringBuilder();

contentToWrite.append(newContent);

if (!file.exists()) {

    file.createNewFile();

} else {

    FileReader fileReader = new FileReader(file);

    BufferedReader bufferedReader = new BufferedReader(fileReader);

    String line = bufferedReader.readLine();

    StringBuilder sb = new StringBuilder();

    while (line != null) {

        sb.append(line).append("\n");

        line = bufferedReader.readLine();

    }

    contentToWrite.append("\n\n" + sb);

    file.delete();

    file.createNewFile();

}

FileWriter writer = new FileWriter(file, true);

writer.append(contentToWrite);

writer.flush();

writer.close();

PS:不要忘記在 finally 語句中關(guān)閉 FileReader 和 BufferedReader。


查看完整回答
反對 回復(fù) 2022-12-21
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊

如果文件存在,為什么不刪除它:


    if (!file.exists()) {

        file.createNewFile();

    } else {

        file.delete()

        file.createNewFile();

    }


查看完整回答
反對 回復(fù) 2022-12-21
?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊

您可以在FileWriter構(gòu)造函數(shù)中將追加標(biāo)志設(shè)置為 false。然后,使用write()函數(shù)而不是append()函數(shù)

FileWriter writer = new FileWriter(file, false);
writer.write(fileContents);


查看完整回答
反對 回復(fù) 2022-12-21
  • 3 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號