Java write()函数

Alo*_*Leo 2 java

write()java中的函数将新数据附加到文件末尾.这是我的问题; java如何知道文件结尾?

  1. 通过读取整个文件来查找文件末尾
  2. 它知道文件结尾的位置

哪一个?提前致谢

Gre*_*ill 5

许多操作系统都具有特定的文件打开模式,其中写入始终写入文件的末尾.Java可以使用它将数据附加到文件的末尾.

例如,open()内核API函数的手册页可以接受O_APPEND标志:

       O_APPEND        append on each write

 Opening a file with O_APPEND set causes each write on the file to be
 appended to the end.  
Run Code Online (Sandbox Code Playgroud)

写入文件末尾的另一种方法是lseek()使用SEEK_END子函数首先到文件的末尾(参见lseek(2)手册页).对文件的新写入将出现在当前文件指针的位置.

但是,lseek()如果这些方法尝试写入相同的偏移量,则该方法可能会导致两个不同的写入器覆盖彼此的数据.因此,通常使用第一种方法打开日志文件等文件.从来没有任何理由将数据写入除日志之外的任何地方的日志文件.