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

Java 如果字符的索引已知,是否可以在固定时间内替换文本文件中的字符?,java,file,io,time-complexity,Java,File,Io,Time Complexity,如果我有一个大的文本文件,是否可以用常量或接近常量的时间替换第n个字符?我所知道的最好的解决方案是使用bufferedReader.skip获取我想要的索引,然后使用readLine获取每一行,并在更改我读取的第一行后再次追加它们。对于大文件,这可能需要很多时间,因此如果有任何更快的方法来完成这项工作,我很高兴您正在寻找的是随机访问文件。请参阅以供参考。您可以使用seek方法转到第n个字符,然后使用多种不同的写入方法之一来操作数据。请确保在写入模式下打开文件,否则会出现异常。跳过并没有真正的用处

如果我有一个大的文本文件,是否可以用常量或接近常量的时间替换第n个字符?我所知道的最好的解决方案是使用bufferedReader.skip获取我想要的索引,然后使用readLine获取每一行,并在更改我读取的第一行后再次追加它们。对于大文件,这可能需要很多时间,因此如果有任何更快的方法来完成这项工作,我很高兴

您正在寻找的是随机访问文件。请参阅以供参考。您可以使用seek方法转到第n个字符,然后使用多种不同的写入方法之一来操作数据。请确保在写入模式下打开文件,否则会出现异常。

跳过并没有真正的用处,因为您必须读取行。最好的解决方案至少是直接读写第n个字符的简单解决方案的两倍。