package com.epay.web; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * 根据银行卡Code获得银行卡信息测试类[该类仅仅是测试类、欢迎指正] * 参考网址: <a href="http://www.oschina.net/code/snippet_862068_45025">http://www.oschina.net/code/snippet_862068_45025</a> * 参考网址:<a href="http://www.atool.org/bank.php">http://www.atool.org/bank.php</a> * 非常感谢:<a href="http://my.oschina.net/emaster">e代宗师 </a> * 如有资源信息更新请及时联系zhangyq谢谢 * <P>Author : zhangyq </P> * <P>Email : 759534585@qq.com </P> * <P>Date : 2015年6月17日 </P> */ public class TestBankInfo { public static void main(String[] args) throws IOException { //------ 注意资源库文件要放到classpath 路径下 InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("bankList.php"); Map<String, String> result = readFile(is, null,null); if (result != null && !result.isEmpty()) { Set<Map.Entry<String, String>> sets = result.entrySet(); int i = 1; System.out.println("共有多少条数据记录:"+result.size()); System.out.println("顺序\tCode\t\t Result\t\t"); for (Map.Entry<String, String> entity : sets) { System.out.println(i+" "+entity.getKey()+" "+entity.getValue()); i++; } }else{ System.out.println("暂无记录!"); } //------- 开始调用接口了 System.out.println("============================================="); System.out.println(getBankInfo(result, "427018", "427019".length())); } /** * 该方法在生产环境可以开放出来 * <P>Author : zhangyq </P> * <P>Date : 2015年6月17日 </P> * @param map 库资源集合 * @param bankCode 用户输入的银行卡卡号 * @param bankCodeLength 用户输入的银行卡卡号长度({3,9}) * @return 华融湘江银行(65705500)-华融湘江银行华融公务卡普卡-贷记卡 */ public static String getBankInfo(Map<String, String> map ,String bankCode,int bankCodeLength){ String result = ""; if (bankCodeLength >=3 ) { result = map.get(bankCode); }else{ result = "请输入长度大于等于3的银行卡卡号"; } return result; } /** * Desc: 文件内容定义 * '622906' => '湖南农村信用社联合社(65385500)-福祥贷记卡-贷记卡', * '628392' => '江西省农村信用社联合社(65394200)-百福公务卡-贷记卡', '623092' => '江西省农村信用社联合社(65394200)-借记IC卡-借记卡', '621778' => '安徽省农村信用社(65473600)-金农卡-借记卡', '620528' => '邢台银行(65541310)-金牛市民卡-借记卡', '621748' => '商丘市商业银行(65675060)-百汇卡-借记卡', '628271' => '商丘市商业银行(65675061)-公务卡-贷记卡', '628328' => '华融湘江银行(65705500)-华融湘江银行华融公务卡普卡-贷记卡', Func: 会去除空格 * <P>Author : zhangyq </P> * <P>Date : 2015年6月17日 </P> * @param is 文件输入流 * @param charSet 文件字符编码(可以为空) * @param lineSplitRegex 每一行key、value的分隔符号默认为"=>" * @return {key:625970,value: 浦发银行信用卡中心(63100000)-贷记卡-贷记卡} */ public static Map<String, String> readFile(InputStream is,Charset charSet,String lineSplitRegex){ Map<String, String> result = new HashMap<String, String>(); if (charSet == null) { charSet = Charset.forName( System.getProperty("file.encoding") );//获取java环境默认编码 } if (lineSplitRegex == null) { lineSplitRegex = "=>"; } BufferedReader br = new BufferedReader(new InputStreamReader(is,charSet)); String lineStr = null; do { try { lineStr = br.readLine(); } catch (IOException e) { e.printStackTrace(); } String[] arrays = null; if (lineStr != null && lineStr.length() >0 && lineStr.trim() != null ) { arrays = lineStr.split(lineSplitRegex); if (arrays != null && arrays.length == 2) { String key = arrays[0].replaceAll("'", "").trim(); String value = arrays[1].replace(",", "").replaceAll("'", "").replaceFirst(" ", ""); result.put(key, value); } } } while (lineStr != null && lineStr.length() > 0); return result; } }
资源库文件:见附件
相关推荐
里面包括一个资源类和一个测试类,需要将银行信息放在classpath下,测试加载spring的配置文件更改成自己的即可运行
通过银行卡号前六位获取所属银行名称,下载源码运行即可 不一定完全覆盖,但是相对较全
根据银行卡号获取银行的名称 银行的机构号 银行卡的卡的类型 银行卡的卡种 工具类是由java 编写 其他的开发语言 也可以参考 包含了4800 +种卡种 自己测试了 还是比较全的 比支付宝提供的接口返回的卡种还要全 读取...
根据银行卡号查询银行名称、开户行、银行logo、ICO等、已封装JSON
根据银行卡号判断银行名称,本人还有很全的Excel表格,有需要私联
可通过使用该工具通过解析银行卡bin来获取到指定的银行卡号对应的银行卡名称,支持1394种卡bin与银行名称的转换
主要介绍了Java实现获取银行卡所属银行,验证银行卡号是否正确的方法,结合实例形式详细分析了java判断银行卡归属地及有效性的原理与相关实现技巧,需要的朋友可以参考下
基于opencv+Tesseract-OCR的银行卡图片处理,智能识别银行卡号
银行系统java代码
根据银行卡号调用阿里提供的验证验证银行卡的免费接口获取银行名称等信息,并更新银行名称
国内外1300多家银行卡bin,银行以及卡类型,卡号长度sql,比如: 卡号银行匹配 insert into cardbin(`id`, `bin`, `bank`, `type`, `len`) values ('1', '433670', '中信银行', '借记卡', '16') insert into ...
这代码是我自己经过多次参考,对银行家算法有一定的了解写下来的,并且是用java代码实现的,网上好像对于这样的算法都只是用C写的吧,还有就是看到网上大部分就只是实现了银行家算法要有的比较含糊的功能,只是模拟...
搜来的资源,进行了转化,目前对银行卡支持的还可以,新的银行卡能识别。
java获取民族 提供了根据名称代码获得民族对象 mzu.xml存储了56个民族的信息
银行卡号四位空格格式化效果基于jQuery实现,有些网站需要用到让客户输入银行卡号之类的信息,这个代码可以让网站访客在输入银行卡号信息的时候能够清晰明了的看出来自己输入的信息是否正确,增加用户体验。
卡密自动生成代码 java代码 有兴趣的看看 来吧来吧卡密自动生成代码卡密自动生成代码卡密自动生成代码卡密自动生成代码
模拟实现账号关联多张银行卡,计算购物、消费金额,一张卡余额不足时,自动找其他能承担消费的卡,甚至可以多卡余额相加支付消费额。 旨在简单模拟“对象间的关联”特色。
主要是银行管理员所要实现的网上操作的功能的代码
用java实现银行家调度算法,避免进程死锁!