最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android設(shè)備如何保證數(shù)據(jù)同步寫入磁盤的實(shí)現(xiàn)

 更新時間:2019年09月05日 14:08:50   作者:天涯yy的悲傷  
這篇文章主要介紹了Android設(shè)備如何保證數(shù)據(jù)同步寫入磁盤的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在一些特定的工作場景中,我們把數(shù)據(jù)及時寫出磁盤,而不是暫時保存在系統(tǒng)的文件緩存區(qū),防止掉電導(dǎo)致數(shù)據(jù)丟失

/**
 * Force all system buffers to synchronize with the underlying
 * device. This method returns after all modified data and
 * attributes of this FileDescriptor have been written to the
 * relevant device(s). In particular, if this FileDescriptor
 * refers to a physical storage medium, such as a file in a file
 * system, sync will not return until all in-memory modified copies
 * of buffers associated with this FileDescriptor have been
 * written to the physical medium.
 *
 * sync is meant to be used by code that requires physical
 * storage (such as a file) to be in a known state For
 * example, a class that provided a simple transaction facility
 * might use sync to ensure that all changes to a file caused
 * by a given transaction were recorded on a storage medium.
 *
 * sync only affects buffers downstream of this FileDescriptor. If
 * any in-memory buffering is being done by the application (for
 * example, by a BufferedOutputStream object), those buffers must
 * be flushed into the FileDescriptor (for example, by invoking
 * OutputStream.flush) before that data will be affected by sync.
 *
 * @exception SyncFailedException
 *    Thrown when the buffers cannot be flushed,
 *    or because the system cannot guarantee that all the
 *    buffers have been synchronized with physical media.
 * @since   JDK1.1
 */
public native void sync() throws SyncFailedException;

可能一看到這個場景,很多人會想到數(shù)據(jù)庫的事務(wù),查看Android數(shù)據(jù)庫sqlite的源碼可以看到,數(shù)據(jù)庫事務(wù)只能保證n個操作,要么都執(zhí)行,要么都不執(zhí)行。數(shù)據(jù)庫事務(wù)在所有操作完成后,會提醒文件系統(tǒng)與磁盤同步,但是不會等到所有系統(tǒng)緩沖區(qū)與磁盤同步完成才返回!

  FileDescriptor.getFd().sync();會強(qiáng)制所有系統(tǒng)緩沖區(qū)與磁盤同步
File file = new File("/sdcard/a.txt");
    try {
      FileOutputStream outputStream = new FileOutputStream(file);
      outputStream.write("kuangxf".getBytes());
      outputStream.flush();
      //強(qiáng)制文件系統(tǒng)刷新
      outputStream.getFD().sync();
    } catch (Exception e) {
      e.printStackTrace();
    }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解java注解相關(guān)知識

    詳解java注解相關(guān)知識

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著java注解的使用展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot實(shí)現(xiàn)接口文檔自動生成的方法示例

    SpringBoot實(shí)現(xiàn)接口文檔自動生成的方法示例

    在開發(fā)Web應(yīng)用程序時,接口文檔是非常重要的一環(huán),本文主要介紹了SpringBoot實(shí)現(xiàn)接口文檔自動生成的方法示例,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Java基礎(chǔ)之String類使用與字符串比較

    Java基礎(chǔ)之String類使用與字符串比較

    String類代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類的實(shí)例。本文將詳解String類的使用,以及如何進(jìn)行字符串比較
    2022-08-08
  • 基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    基于java ssm springboot+mybatis酒莊內(nèi)部管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了java ssm springboot+mybatis實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaWeb中的Cookie和Session解讀

    JavaWeb中的Cookie和Session解讀

    這篇文章主要介紹了JavaWeb中的Cookie和Session解讀,Cookie是servlet發(fā)送到Web瀏覽器的少量信息,該信息由瀏覽器保存,然后發(fā)送回服務(wù)器,一般情況下,Cookie是以鍵值對進(jìn)行表示的,Cookie的值可以唯一地標(biāo)識客戶端,因此Cookie常用于會話管理,需要的朋友可以參考下
    2023-10-10
  • SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere

    SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere

    這篇文章主要介紹了SpringBoot如何配置數(shù)據(jù)庫主從shardingsphere問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java的Lambda表達(dá)式和Stream流的作用以及示例

    Java的Lambda表達(dá)式和Stream流的作用以及示例

    這篇文章主要介紹了Java的Lambda表達(dá)式和Stream流簡單示例,Lambda允許把函數(shù)作為一個方法的參數(shù),使用Lambda表達(dá)式可以寫出更簡潔、更靈活的代碼,而其作為一種更緊湊的代碼風(fēng)格,使Java的語言表達(dá)能力得到了提升,需要的朋友可以參考下
    2023-05-05
  • Java Lambda表達(dá)式詳解和實(shí)例

    Java Lambda表達(dá)式詳解和實(shí)例

    這篇文章主要介紹了Java Lambda表達(dá)式詳細(xì)介紹,從簡單的到復(fù)雜的實(shí)例講解,需要的朋友可以參考下
    2014-05-05
  • Java線程之程安全與不安全代碼示例

    Java線程之程安全與不安全代碼示例

    這篇文章主要介紹了Java線程之程安全與不安全代碼示例,還是比較不錯的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Java簡單計(jì)算圓周率完整示例

    Java簡單計(jì)算圓周率完整示例

    這篇文章主要介紹了Java簡單計(jì)算圓周率,結(jié)合完整實(shí)例形式分析了Java計(jì)算圓周率的原理與操作技巧,代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-05-05

最新評論

彝良县| 余姚市| 金坛市| 共和县| 安化县| 称多县| 建湖县| 定南县| 平顶山市| 北川| 梅河口市| 巴南区| 通榆县| 成武县| 衢州市| 东莞市| 绍兴县| 平陆县| 永昌县| 彩票| 沙湾县| 泰来县| 南木林县| 鹤庆县| 莒南县| 张家口市| 时尚| 韶山市| 凤城市| 巴青县| 枣庄市| 元江| 恩施市| 东光县| 扶绥县| 溧阳市| 双流县| 宜兰市| 临湘市| 黄平县| 灌云县|