![]() |
1
3
我想你误解了PrintWriter.write(字符串、偏移量、长度)的定义。如果我读对了你的问题,你认为它会在那个偏移量写入输出文件。但是,偏移量指定要写入的字符串的起始位置,因此您尝试从偏移量23开始的字符串“ok”写入。由于该字符串只有2个字符,因此会出现异常。 如果确实要覆盖文件中的特定字节,请查看java.io.RandomAccessFile。请注意,虽然可以用其他字节覆盖文件中的特定字节,但如果不将数据读入内存并将新副本写入磁盘,则无法“插入”数据或从文件中删除数据(导致文件长度不同)。 |