这段代码在 Java
中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣:
int fd = open(FILE_NAME, O_WRONLY);
int ret = 0;
if (fd == -1) {
exit(EXIT_FAILURE);
}
while (1) {
ret = write(fd, "\0", 1);
}
更新:
该代码不复制文件。它仅每隔 X 秒在文件中写入一个字节 (?)/char(?)(不确定是什么)
最佳答案
这基本上就是您想要的。
try {
FileOutputStream os = new FileOutputStream(FILENAME);
while( true ){
os.write(0);
Thread.sleep(2000); // wait 2 seconds before the next write
}
}
catch( FileNotFoundException e ){
System.err.println("watchdog error: " + e.getMessage())
System.exit(1);
}
如果您真的想像 C 代码那样忽略所有“写入”错误,请将 os.write 更改为:
try {
os.write(0);
}
catch( Exception we ){
//ignoring write exception
}
关于此代码的 Java 适当 I/O 为空终止字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14938568/