Java语言读取文件以后再打开字典,字典的内容怎么保持和文件相同的顺序并且允许第一列重复
用LinkedHashMap
来实现。
LinkedHashMap
是Java中的一个具体实现类,它继承自HashMap
,但还维护了一个双向链表来保持插入顺序。这使得它能够按照插入的顺序迭代元素,从而保持和文件中的顺序相同。
下面是一个示例代码,演示了如何读取文件、打开字典并保持顺序与文件相同的逻辑:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
public class FileToDictionary {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt"; // 文件路径
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
Map<String, String> dictionary = new LinkedHashMap<>();
String line;
while ((line = reader.readLine()) != null) {
// 解析每一行为字典条目
// 假设每行以制表符或空格分隔键值对,可以根据实际情况进行修改
String[] parts = line.split("\\s+", 2);
if (parts.length == 2) {
String key = parts[0].trim();
String value = parts[1].trim();
dictionary.put(key, value);
}
}
// 打印字典内容,按照文件顺序
for (Map.Entry<String, String> entry : dictionary.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述示例代码中,用LinkedHashMap
来存储字典条目,并在每次读取文件行时将键值对添加到dictionary
中。然后用entrySet()
方法按顺序迭代dictionary
的条目,并打印出键和值。
,示例代码假设每行以制表符或空格分隔键值对,你可以根据实际情况修改该分隔符。同时,如果文件中的键(第一列)可以重复,使用LinkedHashMap
将保留最后一次出现的键值对,因为后续的条目会覆盖先前的条目。如果你希望保留第一次出现的键值对,可以将示例代码中的LinkedHashMap
替换为ArrayList
或LinkedList
,并在每次读取到的条目后追加到列表中。
<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/6/15
Time: 0:14
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<title>ProCute</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<script language='Javascript'>
<!--
document.write(unescape('%09%3C%64%69%76%20%69%64%3D%22%77%72%61%70%70%65%72%22%3E%0A%09%09%3C%68%31%3E%43%6F%6D%70%61%6E%79%20%4E%61%6D%65%3C%2F%68%31%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%63%6F%6D%70%61%6E%79%20%2F%20%77%65%62%73%69%74%65%20%6E%61%6D%65%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%66%6F%6C%6C%6F%77%22%3E%0A%09%09%09%3C%21%2D%2D%3C%73%70%61%6E%3E%46%6F%6C%6C%6F%77%20%75%73%3C%2F%73%70%61%6E%3E%2D%2D%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%66%61%63%65%62%6F%6F%6B%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%46%61%63%65%62%6F%6F%6B%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%66%62%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%74%77%69%74%74%65%72%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%54%77%69%74%74%65%72%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%74%77%69%74%74%65%72%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%70%6C%75%73%2E%67%6F%6F%67%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%47%6F%6F%67%6C%65%20%50%6C%75%73%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%67%70%6C%75%73%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%6C%69%6E%6B%65%64%69%6E%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%4C%69%6E%6B%65%64%69%6E%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%6C%69%6E%6B%65%64%69%6E%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%09%3C%61%20%68%72%65%66%3D%22%68%74%74%70%3A%2F%2F%77%77%77%2E%64%72%69%62%62%62%6C%65%2E%63%6F%6D%22%3E%20%3C%21%2D%2D%20%53%65%74%20%79%6F%75%72%20%44%72%69%62%62%62%6C%65%20%55%52%4C%20%2D%2D%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%64%72%69%62%62%62%6C%65%22%3E%3C%2F%64%69%76%3E%0A%09%09%09%3C%2F%61%3E%0A%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%66%6F%6C%6C%6F%77%20%2D%2D%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%6F%70%70%73%22%3E%4F%70%70%73%21%20%54%68%69%73%20%73%69%74%65%20%69%73%20%63%75%72%72%65%6E%74%6C%79%20%75%6E%64%65%72%20%63%6F%6E%73%74%72%75%63%74%69%6F%6E%2E%3C%2F%64%69%76%3E%0A%09%09%3C%64%69%76%20%69%64%3D%22%62%6F%74%74%6F%6D%22%3E%0A%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6C%65%66%74%22%3E%0A%09%09%09%09%3C%68%32%3E%45%73%74%69%6D%61%74%65%64%20%74%69%6D%65%20%62%65%66%6F%72%65%20%6C%61%75%6E%63%68%3C%2F%68%32%3E%0A%09%09%09%09%3C%64%69%76%20%69%64%3D%22%63%6F%75%6E%74%64%6F%77%6E%22%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%64%61%79%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%44%61%79%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%68%6F%75%72%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%48%6F%75%72%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%6D%69%6E%75%74%65%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%4D%69%6E%75%74%65%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%74%69%6D%65%42%6F%78%22%3E%0A%09%09%09%09%09%09%3C%64%69%76%20%63%6C%61%73%73%3D%22%73%65%63%6F%6E%64%73%22%3E%30%30%3C%2F%64%69%76%3E%0A%09%09%09%09%09%09%53%65%63%6F%6E%64%73%0A%09%09%09%09%09%3C%2F%64%69%76%3E%0A%09%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%63%6F%75%6E%74%64%6F%77%6E%20%2D%2D%3E%0A%09%09%09%3C%2F%64%69%76%3E%3C%21%2D%2D%20%65%6E%64%20%6C%65%66%74%20%2D%2D%3E'));
//-->
</script>
<div>
<h2>每日打卡(一:单词,二:短文)</h2>
<form action="${pageContext.request.contextPath}/Manyfileup" enctype="multipart/form-data" method="post" />
<fieldset>
<input type="file" name="files" multiple="multiple"/>
<%-- <input type="file" name="files" multiple="multiple"/>--%>
<button type="submit" name="submit">Submit</button>
</fieldset>
</form>
<div id="message">
</div><!-- end message -->
</div><!-- end right -->
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="js/countdown.jquery.js"></script>
<script language='Javascript'>
<!--
document.write(unescape('%09%3C%73%63%72%69%70%74%3E%0A%09%09%24%28%66%75%6E%63%74%69%6F%6E%28%29%20%7B%0A%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%27%29%2E%63%6F%75%6E%74%64%6F%77%6E%28%7B%64%61%74%65%3A%20%27%32%35%20%44%65%63%65%6D%62%65%72%20%32%30%31%38%20%30%30%3A%30%30%3A%30%30%27%7D%2F%2A%2A%2A%20%53%65%74%20%77%65%62%73%69%74%65%20%6C%61%75%6E%63%68%20%64%61%74%65%20%61%6E%64%20%74%69%6D%65%20%2A%2A%2A%2F%2C%20%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%64%61%79%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%68%6F%75%72%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%6D%69%6E%75%74%65%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%09%24%28%27%23%63%6F%75%6E%74%64%6F%77%6E%20%2E%73%65%63%6F%6E%64%73%27%29%2E%68%74%6D%6C%28%22%30%30%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%66%6F%63%75%73%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%7D%29%3B%0A%09%09%09%24%28%22%66%6F%72%6D%20%69%6E%70%75%74%22%29%2E%62%6C%75%72%28%66%75%6E%63%74%69%6F%6E%28%29%7B%0A%09%09%09%09%69%66%20%28%21%28%24%28%74%68%69%73%29%2E%76%61%6C%28%29%29%29%7B%0A%09%09%09%09%09%24%28%74%68%69%73%29%2E%63%73%73%28%22%62%61%63%6B%67%72%6F%75%6E%64%22%2C%20%22%75%72%6C%28%69%6D%61%67%65%73%2F%70%6C%61%63%65%68%6F%6C%64%65%72%2E%70%6E%67%29%20%6E%6F%2D%72%65%70%65%61%74%20%63%65%6E%74%65%72%20%23%62%34%64%63%62%61%22%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%29%3B%0A%09%09%7D%29%3B%0A%09%3C%2F%73%63%72%69%70%74%3E'));
//-->
</script>
</body>
</html>