java按行读取txt文件并按顺序放到map对象里面实例

来源:互联网 发布:2017 java 编辑:程序博客网 时间:2024/05/01 22:20

java按行读取txt文件并按顺序放到map对象里面实例:

public static Map<Integer,String> readTxtFile(String filePath) {

//存放内容的map对象
Map<Integer,String> filemaps = new HashMap<Integer,String>();
try {
String encoding = “GBK”;
File file = new File(filePath);
int count = 0;//定义顺序变量
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) {//按行读取
// System.out.println(“lineTxt=” + lineTxt);
if(!””.equals(lineTxt)){
String reds = lineTxt.split(“\\+”)[0];//对行的内容进行分析处理后再放入map里。
// System.out.println(reds);
filemaps.put(count, reds);//放入map
count ++;
}
}
read.close();//关闭InputStreamReader
bufferedReader.close();//关闭BufferedReader

} else {
System.out.println(“找不到指定的文件”);
}
} catch (Exception e) {
System.out.println(“读取文件内容出错”);
e.printStackTrace();
}
return filemaps;
}

使用方法:传入完整文件路径(包括文件名)。例如:

String filename = “F:/mydir/2014090-3.txt”;
Map<Integer, String> filemaps = readTxtFile(filename);

int num = filemaps.size();// 行数
for (int i = 0; i < num; i++) {
String str = filemaps.get(i);
}

 

0 0
原创粉丝点击