Java-io-filedescriptor-sync
提供:Dev Guides
Java.io.File.sync()メソッド
説明
- java.io.File.sync()*メソッドは、すべてのシステムバッファーを基になるデバイスと同期させます。
宣言
以下は* java.io.File.sync()*メソッドの宣言です-
public void sync()
パラメーター
NA
戻り値
メソッドは値を返しません。
例外
*SyncFailedException* -この例外は、バッファをフラッシュできない場合、またはシステムがすべてのバッファと物理メディアの同期を保証できないためにスローされます。
例
次の例は、java.io.File.sync()メソッドの使用法を示しています。
package com.finddevguides;
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!!