JAVA编程中中如何读取TXT文件数据并计算
来源:互联网 发布:淘宝店铺被扣了48分 编辑:程序博客网 时间:2024/05/18 22:12
JAVA中如何读取TXT文件数据并计算,觉得好久评论
import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Testa { public static void main(String[] args) { //传入参数为文件目录 test("d:/a.txt"); } public static void test(String filePath){ BufferedReader br = null; try { br = new BufferedReader(new FileReader(filePath)); } catch (FileNotFoundException e) { e.printStackTrace(); return; } String []columnName = {"Id", "Name", "Languages", "Math", "English"}; //列名 int []courseIndexs = {2, 3, 4}; //课程对应的列 int i,j,index; String line; List<Map<String, Object>> students = new ArrayList<Map<String, Object>>(); //记录Id和总值,用于排序 List<Map<String, Object>> sortList = new ArrayList<Map<String, Object>>(); try { br.readLine(); //去掉第一行 while((line = br.readLine()) != null){ index = 0; String []se = line.split(" "); Map<String, Object> student = new HashMap<String, Object>(); for(i = 0; i < se.length; i++){ if("".equals(se[i])){ continue; } if(index >= columnName.length){ continue; } student.put(columnName[index], se[i]); index++; } //计算平均值,总值 double total = 0; for(j = 0; j < courseIndexs.length; j++){ total += Double.parseDouble((String) student.get(columnName[courseIndexs[j]])); } double average = total / courseIndexs.length; //只取一位小数 average = Math.round(average * 10)/10; student.put("Total", total); student.put("Average", average); Map<String, Object> sort = new HashMap<String, Object>(); sort.put("Id", student.get("Id")); sort.put("Total", student.get("Total")); sortList.add(sort); students.add(student); } br.close(); //排序 for(i = 0; i < sortList.size(); i++){ for(j = i + 1; j < sortList.size(); j++){ if((Double)sortList.get(i).get("Total") < (Double)sortList.get(j).get("Total")){ Map<String, Object> temp = sortList.get(i); sortList.set(i, sortList.get(j)); sortList.set(j, temp); } } } Map<Object, Integer> sortedId = new HashMap<Object, Integer>(); for(i = 0; i < sortList.size(); i++){ sortedId.put(sortList.get(i).get("Id"), i+1); } //设定序号 for(j = 0; j < students.size(); j++){ students.get(j).put("Order", sortedId.get(students.get(j).get("Id"))); } //输出(写到原文件) //PrintWriter pw = new PrintWriter(new File(filePath)); //输出(写到其他文件) PrintWriter pw = new PrintWriter(new File("D:/b.txt")); pw.println("Id\tName\tLan\tMath\tEnglish\tAverage\tTotal\tSort"); int cIndex; for(i = 0; i < students.size(); i++){ Map<String, Object> st = students.get(i); cIndex = 0; pw.println(st.get(columnName[cIndex++]) + "\t" + st.get(columnName[cIndex++]) + "\t" + st.get(columnName[cIndex++])+ "\t" + st.get(columnName[cIndex++]) + "\t" + st.get(columnName[cIndex++]) + "\t" + st.get("Total") + "\t" + st.get("Average") + "\t" + st.get("Order")); } pw.flush(); pw.close(); } catch (IOException e) { e.printStackTrace(); } }}
0 0
- JAVA编程中中如何读取TXT文件数据并计算
- java读取Excel数据,然后写入到txt文件,并批量保存到oracle数据库中
- Java中读取txt文件
- VB中如何读取txt文件的数据
- 在Matalb中如何读取TXT文件中的数据
- JAVA读取txt文件中数据代码范例
- java读取txt中的数据放到数组中,经过计算(每个数加字母a)后再输出到另一个txt文件中。数据格式如下:
- 在j2me中读取txt文件数据
- 在j2me中读取txt文件数据
- 在j2me中读取txt文件数据
- vc++从txt文件中读取数据
- VTK从TXT文件中读取数据
- c++从txt文件中读取数据
- java--从txt文件中读取完全二叉树数据建立二叉树并打印出遍历结果
- 从oracle中读取数据并保存在txt文件中
- 从txt文件中读取数字 java
- Java中从指定txt读取文件
- JAva中读取TXT文件的方法。
- 【tulip】 - 多进程的版本
- 【泛融顾问分享】未来银行发展五大趋势
- leetcode挨个儿刷150105(2):Remove Nth Node From End of List
- 【再发福利】ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
- UITextField的详细介绍
- JAVA编程中中如何读取TXT文件数据并计算
- 【协程原理】 - Java中的协程
- arm板子上实现tftp功能
- AFNetworking使用总结 与使用
- hdoj1013
- 【妙用协程】 - 诡异的web框架
- 数据结构基础(9) --单链表的设计与实现(2)之高级操作
- nyoj220 推桌子
- 多目标跟踪算法评价指标