Java Java.io.File.sync() 方法

  • 描述

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

    以下是java.io.File.sync()方法的声明-
     public void sync()
  • 参数

    不适用
  • 返回值

    该方法不返回任何值。
  • 异常

    SyncFailedException当无法刷新缓冲区或因为系统无法保证所有缓冲区与物理媒体同步时,抛出此异常。
  • 例子

    以下示例显示java.io.File.sync()方法的用法。
     
    package com.jc2182;
    import java.io.FileDescriptor;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    
    public class FileDemo {
       public static void main(String[] args) {      
          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!!