Java FileDescriptor sync()方法

java.io.File.sync() 方法强制所有系统缓冲区与基础设备同步。

1 语法

public void sync()

2 参数

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.File.sync()方法的例子
 */
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Demo {
    public static void main(String[] args) throws Exception{
        FileInputStream fis = null;
        FileOutputStream fos = null;
        FileDescriptor fd = null;
        byte[] b = {65,66,67,68,69,70};

        try {
            fos = new FileOutputStream("c:/java test.txt");
            fd = fos.getFD();

            // writes byte to file output stream
            fos.write(b);

            // flush data from the stream into the buffer
            fos.flush();

            // confirms data to be written to the disk
            fd.sync();

            // create input stream
            fis = new FileInputStream("c:/java test.txt");

            int value = 0;

            // for every available bytes
            while((value = fis.read())!= -1) {

                // converts bytes to char
                char c = (char)value;

                // prints char
                System.out.print(c);
            }

            // print
            System.out.print("\nSync() successfully executed!!");

        } catch(Exception e) {
            // if any error occurs
            e.printStackTrace();
        } finally {
            // releases system resources
            if(fos!=null)
                fos.close();
            if(fis!=null)
                fis.close();
        }
    }
}

输出结果为:

ABCDEF
Sync() successfully executed!!

热门文章

优秀文章