如果已知字符的索引,是否可以在常量时间内替换文本文件中的字符?

时间:2018-01-23 08:19:28

标签: java file io time-complexity

如果我有一个大文本文件,是否可以在常量或接近恒定时间内替换第n个字符?我所知道的最好的解决方案是使用bufferedReader.skip来获取我想要的索引,然后使用readLine()来获取每一行,并再次附加它们(在更改我读取的第一行之后)。对于大型文件,这可能会花费很多时间,所以如果有更快的方法,我可以选择这样做

1 个答案:

答案 0 :(得分:1)

您要查找的是随机访问文件。请参阅this以获取参考。您可以使用seek()方法转到第n个字符,然后使用许多不同的write()方法之一来操作数据。请确保以写入模式打开文件,否则会出现异常。