java中创建txt文件的索引
时间: 2023-08-05 14:18:36 浏览: 113
在Java中创建txt文件的索引,可以使用以下步骤:
1. 创建一个BufferedReader对象来读取txt文件的内容。
2. 创建一个HashMap对象,用于存储索引信息。
3. 读取每一行txt文件的内容,将单词拆分出来,并将单词作为键存储到HashMap中,值为一个List,存储该单词在txt文件中出现的行数。
4. 遍历HashMap,将每个单词及其出现的行数写入到一个新的txt文件中,作为索引文件。
以下是一个示例代码:
```java
import java.io.*;
import java.util.*;
public class CreateIndex {
public static void main(String[] args) {
try {
// 读取txt文件
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
// 创建HashMap对象
HashMap<String, List<Integer>> indexMap = new HashMap<>();
// 遍历txt文件的每一行
String line;
int lineNumber = 1;
while ((line = reader.readLine()) != null) {
// 拆分单词
String[] words = line.split("\\s+");
// 将单词作为键存储到HashMap中
for (String word : words) {
if (!indexMap.containsKey(word)) {
indexMap.put(word, new ArrayList<Integer>());
}
indexMap.get(word).add(lineNumber);
}
lineNumber++;
}
// 写入索引文件
BufferedWriter writer = new BufferedWriter(new FileWriter("index.txt"));
for (String word : indexMap.keySet()) {
writer.write(word + " " + indexMap.get(word).toString() + "\n");
}
writer.close();
// 关闭文件
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该代码会创建一个名为index.txt的新文件,其中包含每个单词及其出现的行数,类似于以下格式:
```
word1 [1, 3, 5]
word2 [2, 4]
...
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)