Согласно документации,
java.io.FileDescriptor работает для открытия файла с определенным именем. Если в этом файле присутствует какой-либо контент, он сначала удалит весь этот контент и поместит «Начало процесса» в качестве первой строки.
Мой FILE.txt файл содержит контенттолько как мое имя 'Jaimin Modi'.
Теперь ниже приведен пример использования класса FileDescriptor в Java:
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 excpt)
{
// if in case IO error occurs
excpt.printStackTrace();
}
finally
{
// releases system resources
if(geek_out!=null)
geek_out.close();
}
}
}
Я получаю ниже вывод /содержимое в FILE.txt как 'GEEKS'.
Итак, что я сделал дальше, это просто прокомментировал строки для использования FileDescriptor . Прокомментированные ниже строки:
FileDescriptor geek_descriptor = null;
geek_descriptor = geek_out.getFD();
geek_descriptor.sync();
и снова изменили содержимое в FILE.txt на «Jaimin Modi».
, затем просто выполнили. Что я получаю в FILE.txt :
'GEEKS' .. !!
Получаю одинаковый результат с использованием и без использования FileDescriptor .
Итак, что является основным использованием FileDescriptor здесь. Смущен немного. Пожалуйста, руководство.