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; } }
资源库文件:见附件
相关推荐
资源类通常用来存储和处理与银行卡号相关的数据,而测试类则用于验证代码的正确性。以下是基于这个项目的一些关键知识点的详细说明: 1. **银行卡号结构**:银行卡号通常由发卡机构标识符(Bank Identification ...
开发者可以利用这些JSON数据,通过编程接口(API)来实现查询功能,将输入的银行卡号与数据库中的记录匹配,从而获取相应的银行信息。 综上所述,这个压缩包提供的功能是通过银行卡号查询关键的银行信息,包括银行...
根据银行卡号获取银行的名称 银行的机构号 银行卡的卡的类型 银行卡的卡种 工具类是由java 编写 其他的开发语言 也可以参考 包含了4800 +种卡种 自己测试了 还是比较全的 比支付宝提供的接口返回的卡种还要全 读取...
根据银行卡号 获取银行名称
例如,中国银联的银行卡号一般16位或19位,且可能有特定的前几位数字作为银行识别代码。一个简单的正则表达式可以是: ```java String regexBankCard = "^\\d{16,19}$"; ``` 这个表达式表示16到19位的连续数字。...
在Java编程中,实现获取银行卡所属银行以及验证银行卡号是否正确的方法涉及到多个步骤和技术。首先,我们需要理解银行的卡号规则,通常是根据Luhn算法(也称为模10算法)来验证卡号的合法性。此外,为了获取银行卡的...
**基于OpenCV&Tesseract的OCR银行卡号识别技术详解** 在当今数字化时代,自动识别银行卡号的需求日益增长,尤其是在金融支付、银行服务自动化等场景中。本文将深入探讨如何结合OpenCV图像处理库与Tesseract OCR...
在本场景中,你需要编写代码来调用阿里的API,传递银行卡号作为输入,接收返回的银行名称等信息。这通常涉及发送HTTP请求,解析返回的JSON或XML格式的数据。 3. **银行账户信息处理**:银行账户信息涉及到用户的...
【Java银行卡管理系统】是一个以Java语言开发的软件应用,它模拟了银行的卡片管理功能,为用户提供了一系列与银行卡相关的操作。作为一个成熟的系统,它可能包括账户创建、存款、取款、转账、余额查询等基本功能,...
内容概要:可以通过JS方法传入银行卡号码,查询银行卡所属银行,BIN查询 适应人群:前端人员,或者需要银行BIN数据的人员 能学到什么:可以学到使用JS通过BIN数据查询到银行卡的归属银行 阅读建议:直接阅读
这里提到的"根据银行卡号自动的就匹配到它对应的银行"是一个典型的业务需求,主要是通过编程技术实现银行卡号与银行之间的关联。下面将详细介绍这个过程涉及的知识点。 1. **银行卡号结构**:银行卡号通常由发卡...
在网页设计中,尤其是在涉及到用户输入敏感信息如银行卡号时,提供清晰、易读的输入界面是至关重要的。"银行卡号四位空格格式化效果.zip" 提供了一种基于jQuery的解决方案,旨在优化用户的输入体验,确保用户能准确...
QT+OpenCV+OCR 身份证号码与银行卡号识别技术是计算机视觉领域的一个重要应用,主要用于自动识别图像中的文字信息。在这个特定的项目中,我们看到一个利用QT图形界面库,OpenCV图像处理库,以及OCR(Optical ...
这代码是我自己经过多次参考,对银行家算法有一定的了解写下来的,并且是用java代码实现的,网上好像对于这样的算法都只是用C写的吧,还有就是看到网上大部分就只是实现了银行家算法要有的比较含糊的功能,只是模拟...
本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款:1 取款:2 ...
java获取民族 提供了根据名称代码获得民族对象 mzu.xml存储了56个民族的信息
Java编写的银行存取款系统是一个综合性的项目,它涵盖了Java编程语言以及JSP(JavaServer Pages)技术的核心概念和应用。在这个系统中,开发者利用Java的强大功能来实现银行账户的管理,包括存款、取款、查询余额等...
在Java编程语言中,实现一个简单的银行转账功能是学习面向对象设计和基本的银行业务逻辑的一个常见练习。这个代码示例可能包含用户类(User)、账户类(Account)以及转账类(Transfer)等核心组件。下面将详细介绍这些...
本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。操作类型包括四种(存款:1 取款:2 ...
银行系统java代码