IdentityHashMap的使用

package com.aa.injured.rulePlatform.util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Map.Entry;
public class HttpTestLocalClaimInfo {

public static String readToString(String fileName) {
		String encoding = "UTF-8";
		File file = new File(fileName);
		Long filelength = file.length();
		byte[] filecontent = new byte[filelength.intValue()];
		try {
			FileInputStream in = new FileInputStream(file);
			in.read(filecontent);
			in.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			String result=new String(filecontent, encoding);
			Map<String, String> map=new IdentityHashMap<String, String>();
			String[] lineOne=result.split(";");
			for (int i = 0; i < lineOne.length; i++) {
				String formatString =lineOne[i].replace("\t", ",");
				String[] subString=formatString.split(",");
				map.put(subString[18],subString[0]+","+subString[1]+","+subString[2]+","+subString[3]+","+subString[4]+","+subString[5]+","+subString[6]+","+subString[7]+","+subString[8]+","+subString[9]+","+subString[10]+","+subString[11]+","+subString[12]+","+subString[13]+","+subString[14]+","+subString[15]+","+subString[16]+","+subString[17]);
			}
			 for(Entry<String, String> entry : map.entrySet()) {
				 BigDecimal result1=new BigDecimal("0.00");
				 for(Entry<String, String> entry1 : map.entrySet()) {
			       if(entry.getValue().equals(entry.getValue())){
			    	   if(result1.compareTo(BigDecimal.ZERO)==0){
			    		   result1= new BigDecimal(entry.getKey().substring(1, entry.getKey().length()-1));
			    	   }else{
			    		   result1= result1.add(new BigDecimal(entry1.getKey().substring(1, entry.getKey().length()-1)));
			    	   }
			       }
				 }
				 File writename = new File("C:/Users/aa/Desktop/output.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件
				 writename.createNewFile(); // 创建新文件
				 BufferedWriter out = new BufferedWriter(new FileWriter(writename));
				 out.write(entry.getValue()+",\""+result1+"\""); // \r\n即为换行
				 out.flush(); // 把缓存区内容压入文件
				 out.close(); // 最后记得关闭文件

				 System.out.print(" 结果    "+entry +result1);
			   }
			return result ;
		} catch (Exception e) {
			System.err.println("The OS does not support " + encoding);
			e.printStackTrace();
			return null;
		}
}

	    public static void main(String[] args){
	        File file = new File("C:/Users/aa/Desktop/aa.txt");
	        readToString(file.getPath());
	    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值