在使用Java的Writer类进行字符流操作时,以下哪个方法调用会导致数据无法被正确写入目标设备?
答案解析
选项A中,调用flush()方法后立即调用close()方法,虽然flush()方法会强制将缓冲区中的数据写入目标设备,但close()方法在关闭流之前也会自动调用flush()方法,因此数据仍能被正确写入。选项B中,不调用flush()方法直接调用close()方法,close()方法在关闭流之前会自动调用flush()方法,因此数据也能被正确写入。选项C中,调用flush()方法但不调用close()方法,数据会被写入目标设备,但流资源不会被释放,这不是最佳实践,但数据仍能被正确写入。选项D中,既不调用flush()方法也不调用close()方法,这会导致缓冲区中的数据可能不会被写入目标设备,因为数据可能仍然保留在缓冲区中,等待后续的flush()或close()调用。因此,选项D会导致数据无法被正确写入目标设备。
正确答案:D