hashmap 输入输出 JAVA

我想做一个程序把一个文件里的内容自动取出来比如说文件名称是123.txt文件的内容是:【药品名称】通用名称:地高辛注射液曾用名称:英文名称:DigoxinInjectio... 我想做一个程序把一个文件里的内容自动取出来
比如说文件名称是123.txt
文件的内容是:

【药品名称】
通用名称:地高辛注射液
曾用名称:
英文名称:Digoxin Injection
..........
.........

【性状】
.........
.........
........

【药物原理】
......
...
..
....

我想把【 】之间的名称放到key里面

然后把对应的内容放到value里面

我想该用到BufferedReader 的readline()

请问该怎么弄?如果你嫌麻烦,告诉我关键就可以了

回答的好的话我会追加的
展开
 我来答
百度网友50ff957
2013-10-23
知道答主
回答量:40
采纳率:0%
帮助的人:21.4万
展开全部
这是我写过的一段代码,你参考改一下就好,很简单

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.HashMap;

public class FileNameReader {

public static void main(String[] args) {
readTxtFile("D:\\code analysis\\file names\\test.txt");
}
public static void readTxtFile(String filePath){
try {
String encoding="GBK";
HashMap<String,Integer> counter= new HashMap<String, Integer>();
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
int lastPoint = lineTxt.lastIndexOf(".");
String lastName = lineTxt.substring(lastPoint);
if(counter.containsKey(lastName)){
counter.put(lastName,counter.get(lastName)+1);
}else{
counter.put(lastName,1);
}
//System.out.println(lineTxt);
//System.out.println(lastName);
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式