java.io.FileDescriptor 用于打开具有特定名称的文件。如果该文件中存在任何内容,它将首先删除所有内容并将 “Beginning of Process” 作为第一行。文件说明符类的实例充当底层 machine-specific 结构的不透明句柄,表示打开的文件、打开的套接字或另一个字节源或接收器。
- 文件说明符的主要实际用途是创建 FileInputStream 或 FileOutputStream 来包含它。
- 应用程序不应创建自己的文件说明符。
领域
- err: 标准错误流的句柄。
- in:标准输入流的句柄。
- out: 标准输出流的句柄。
声明:
public final class FileDescriptor extends Object
构造函数:
- FileDescriptor():构造一个FileDescriptor对象
方法:
- sync(): java.io.File.sync()将所有缓冲区与底层设备同步。当FileDescriptor的所有修改数据都已写入底层设备时,该方法返回。
Syntax :
public void sync() Parameters : ----------- Return : void Exception : -> SyncFailedException : This is exception is thrown if there is no guarantee of synchronization of buffers with the device.
Java
// Java program explaining the working of sync() method
import java.io.*;
public class NewClass
{
public static void main(String[] args) throws IOException
{
// Initializing a FileDescriptor
FileDescriptor geek_descriptor = null;
FileOutputStream geek_out = null;
// HERE I'm writing "GEEKS" in my file
byte[] buffer = {71,69,69,75,83};
try{
geek_out = new FileOutputStream("FILE.txt");
// This getFD() method is called before closing the output stream
geek_descriptor = geek_out.getFD();
// writes byte to file output stream
geek_out.write(buffer);
// USe of sync() : to sync data to the source file
geek_descriptor.sync();
System.out.print("\nUse of Sync Successful ");
}
catch(Exception except)
{
// if in case IO error occurs
except.printStackTrace();
}
finally
{
// releases system resources
if(geek_out!=null)
geek_out.close();
}
}
}
笔记:
您无法看到此代码对代码中提到的“FILE.txt” 文件所做的更改,因为 Online IDE 上不存在此类文件。因此,您需要将代码复制到系统编译器并观察文件的更改
无论文件中存在什么内容,它都会将您的文件同步到设备并覆盖数据。现在文件“FILE.txt”的内容将是
GEEKS
即使不存在这样的文件,它也会自行创建该文件,同步该文件,并写入您提到的内容。
输出:
Use of Sync Successful :)
- valid(): java.io.File.valid()检查FileDescriptor对象是否有效。
Syntax :
public boolean valid() Parameters : ----------- Return : true : if the FileDescriptor object is valid else, false Exception : -----------
Java
// Java program explaining the working of valid() method
import java.io.*;
public class NewClass
{
public static void main(String[] args) throws IOException
{
// Initializing a FileDescriptor
FileDescriptor geek_descriptor = null;
FileInputStream geek_in = null;
try
{
geek_in = new FileInputStream("FILE.txt");
// get file descriptor
geek_descriptor = geek_in.getFD();
boolean check = false;
// Use of valid() : checking the validity of FileDescriptor
check = geek_descriptor.valid();
System.out.print("FileDescriptor is valid : "+check);
}
catch(Exception except)
{
// if in case IO error occurs
except.printStackTrace();
}
finally
{
// releases system resources
if(geek_in!=null)
geek_in.close();
}
}
}
笔记:
您无法看到此代码对代码中提到的“FILE.txt” 文件所做的更改,因为 Online IDE 上不存在此类文件。因此,您需要将代码复制到系统编译器并观察文件的更改。该方法将检查 FileDescriptor 的有效性。
自从。代码中的 FileDescriptor 有效,因此返回 true
输出:
FileDescriptor is valid : true
概括:
- java.io.File.sync():将所有缓冲区与底层设备同步。
- java.io.File.valid()检查FileDescriptor对象是否有效。
相关用法
- Java Java.io.File.canExecute()用法及代码示例
- Java Java.io.File.canRead()用法及代码示例
- Java Java.io.File.canWrite()用法及代码示例
- Java Java.io.File.compareTo()用法及代码示例
- Java Java.io.File.createNewFile()用法及代码示例
- Java Java.io.File.createTempFile()用法及代码示例
- Java Java.io.File.delete()用法及代码示例
- Java Java.io.File.deleteOnExit()用法及代码示例
- Java Java.io.File.equals()用法及代码示例
- Java Java.io.File.exists()用法及代码示例
- Java Java.io.File.getAbsoluteFile()用法及代码示例
- Java Java.io.File.getAbsolutePath()用法及代码示例
- Java Java.io.File.getCanonicalFile()用法及代码示例
- Java Java.io.File.getCanonicalPath()用法及代码示例
- Java Java.io.File.getFreeSpace()用法及代码示例
- Java Java.io.File.getName()用法及代码示例
- Java Java.io.File.getParent()用法及代码示例
- Java Java.io.File.getParentFile()用法及代码示例
- Java Java.io.File.getPath()用法及代码示例
- Java Java.io.File.getTotalSpace()用法及代码示例
- Java Java.io.File.getUsableSpace()用法及代码示例
- Java Java.io.File.hashCode()用法及代码示例
- Java Java.io.File.isAbsolute()用法及代码示例
- Java Java.io.File.isDirectory()用法及代码示例
- Java Java.io.File.isFile()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 Java.io.FileDescriptor in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。