我想创建一个数据结构来描述文件的存储方式,一旦完成,我必须将以下方法实现到数据结构中。我无法确定这个数据结构是什么。我正在做的是我基本上创建了一个原始的Java文本编辑器。请提供任何澄清帮助,并提前感谢。
boolean FindReplace (String x, String y) // looks for the first occurrence of word "x" in the file and replaces it with word "y" if found returning true, false otherwise.
boolean FindInsert (String x, String y) // looks for the first occurrence of word "x" in the file and then insert "y" right after "x", if x is found, returning true, false otherwise.
StationService stationService = StationServiceProvider.createService(StationService.class);
Call<List<stations>> call = stationService.listStations();
call.enqueue(new Callback<List<stations>>() {
@Override
public void onResponse(Response<List<stations>> response, Retrofit retrofit) {
mAdapter = new StationsAdapter(response.body());
mRecyclerView.setAdapter(mAdapter);
}
@Override
public void onFailure(Throwable t) {
}
});
答案 0 :(得分:2)
您可以通过创建包含StringBuilder
的类来完成此操作。您可以将整个磁盘文件读入StringBuilder
,对其进行操作,然后保存。
StringBuilder
提供indexOf(String str)
方法,您可以使用该方法搜索字符串,以及各种insert
,delete
等操作。
答案 1 :(得分:0)
间隙缓冲区是支持这些操作的有效方式:
https://en.wikipedia.org/wiki/Gap_buffer
或者,您可以使用2个StringBuilders。每次执行查找/替换或查找/插入时,都会将文本从一个文本传输到另一个文件,随时进行更改,然后交换它们。