- 浏览: 300230 次
- 性别:
- 来自: 江阴
文章分类
最新评论
有一个联行号的文件,和一个银行文件,需要读取联行号文件中的某行,用银行文件中的行替换,联行号文件的第四列编号为银行文件的编号,需要把银行名称和银行网点显示在第三个文件中。
联行号文件的内容如下:
银行文件的内容如下:
结果文件
这个程序需要读取两个文件,写入一个文件,我得出如下情况
如果读入的两个文件,保存的格式都是 ANSI/ASCII 则读取文件的InputStreamReader必须为GBK否则有乱码
如果读取的两个文件,保存的格式都是 UTF-8 则读取文件的InputStreamReader必须为utf-8否则有乱码
两个读入的文件,一个是 UTF-8 保存的,另外一个是 ANSI/ASCII 保存,只要读取文件的 InputStreamReader 格式跟文件保存格式保持一致,不会出现乱码。
联行号文件的内容如下:
105588073429,,,105,105581000018,,,,5880,,,,中国建设银行股份有限公司顺德大良支行,,,,,,,,,,,,,, 105588073437,,,105,105581000018,,,,5880,,,,中国建设银行股份有限公司顺德锦湖支行,,,,,,,,,,,,,, //以下省略
银行文件的内容如下:
104|中国银行 105|中国建设银行 313|城市商业银行 314|农村商业银行 //以下省略
结果文件
中国建设银行,中国建设银行股份有限公司顺德大良支行 中国建设银行,中国建设银行股份有限公司顺德锦湖支行 //以下省略
package com.xjh.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.text.SimpleDateFormat; import java.util.Date; /** * 联行号的拆分 (2013-01-11) * @author xiejiaohui * */ public class LianHanghao { public static void main(String[] args) throws Exception { printNowDate(); File lianHangHao_file = new File("d:\\LianHangHao3.txt"); File bankCode_file = new File("d:\\BankCode.txt"); File result_file = new File("d:\\result.txt"); // BufferedReader lianHanghao = new BufferedReader(new FileReader("d:\\LianHangHao2.txt")); // BufferedReader lianHanghao = new BufferedReader(new InputStreamReader(new FileInputStream(lianHangHao_file),"GB2312")); BufferedReader lianHanghao = new BufferedReader(new InputStreamReader(new FileInputStream(lianHangHao_file),"GBK")); // FileWriter result_bw = new FileWriter(new File("d:\\result.txt")); // BufferedWriter result_bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(result_file), "utf-8")); // BufferedWriter result_bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(result_file), "GB2312")); BufferedWriter result_bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(result_file), "GBK")); String lianHanghao_line; String bankCode_line; try { while ((lianHanghao_line = lianHanghao.readLine()) != null) { if (!lianHanghao_line.contains(",")) { if (lianHanghao_line.length() > 0) { println("这行格式有问题: " + lianHanghao_line); } continue; } String[] l_h_h = lianHanghao_line.split(","); // BufferedReader bankCode = new BufferedReader(new InputStreamReader(new FileInputStream(bankCode_file),"utf-8")); // BufferedReader bankCode = new BufferedReader(new InputStreamReader(new FileInputStream(bankCode_file),"GB2312")); BufferedReader bankCode = new BufferedReader(new InputStreamReader(new FileInputStream(bankCode_file),"GBK")); while ((bankCode_line = bankCode.readLine()) != null) { String[] b_l = bankCode_line.split("\\|"); if (l_h_h[3].equals(b_l[0])) { result_bw.append(b_l[1]); break; } else { continue; } } result_bw.append(","); result_bw.append(l_h_h[12]); result_bw.append("\n"); bankCode.close(); } } finally { lianHanghao.close(); result_bw.close(); } printNowDate(); } public static void println(String input) { System.out.println(input); } public static void printNowDate() { println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); } }
这个程序需要读取两个文件,写入一个文件,我得出如下情况
如果读入的两个文件,保存的格式都是 ANSI/ASCII 则读取文件的InputStreamReader必须为GBK否则有乱码
如果读取的两个文件,保存的格式都是 UTF-8 则读取文件的InputStreamReader必须为utf-8否则有乱码
两个读入的文件,一个是 UTF-8 保存的,另外一个是 ANSI/ASCII 保存,只要读取文件的 InputStreamReader 格式跟文件保存格式保持一致,不会出现乱码。
发表评论
-
求一个四位数,这个数字乘以9以后,等于这个数的倒序
2014-01-06 15:54 2366求一个四位数,这个数字乘以9以后,等于这个数的倒序 pa ... -
java reader file & writer file
2013-12-12 19:33 1255package com.xjh.dh; import ... -
Java Puzzlers
2013-11-26 22:31 839package com.xjh.study; pub ... -
java ProcessBuidler
2013-11-23 16:10 609import java.io.File; impor ... -
java txt to excel
2013-11-16 11:40 1009package com.xiejiaohui.dc; ... -
java程序在tomcat环境下读取配置文件
2013-08-02 21:43 1641package com.xiejiaohui.core; ... -
inno setup 下载地址
2013-07-15 14:37 664经常要制作安装文件的,大部分的人是用inno setup 来制 ... -
我的第一个 web server 程序
2013-03-08 22:26 942参考书《How Tomcat Works》这本书非常好,我觉得 ... -
我的第一个 Jetty 程序
2013-03-08 22:08 1188参考网上的例子 在 eclipse 中新建 java 项目 ... -
计算两个日期的相隔天数
2013-02-17 21:16 874package com.xjh.util; impo ... -
java读取文件和写入文件
2013-01-11 21:49 1179package com.xjh.util; imp ... -
我写的一个读取文件写入excel的程序
2013-01-07 21:18 1257我最近写了一个程序,这个程序的需求是这样的: 1 读取一个t ... -
比较数组中的两个账号是否相同(初学者)
2012-09-03 19:54 843Comparer.java package com.xj ... -
测试_20120818
2012-08-18 19:46 895Calculater.java package com. ... -
java加密解密
2011-11-05 14:48 619http://snowolf.iteye.com/blog/3 ... -
一个小学五年级的暑假作业
2011-08-24 11:12 725请你从字母算式里写出数字计算。 W I N ... -
java 递归删除某个目录
2010-10-11 16:02 1647import java.io.File; import ... -
Java 读文件,写文件
2010-05-31 08:20 1603package com.xjh.util; import ... -
判断一个日期字符串是否输入正确
2010-01-16 14:54 1345import java.text.ParseExcepti ... -
jsp页面中不能显示图片
2008-06-13 14:29 3728在 AIX 5.3 操作系统,WebSphere 5.1 应用 ...
相关推荐
(注意是两个等号) 如if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 2、if exist 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如if exist ...
在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也...
实例108 计算两个矩形矩阵的乘积 129 第5章 面向对象编程技术 131 5.1 属性和方法 132 实例109 使用属性存储用户编号和姓名 132 实例110 通过定义方法求一个数的平方 133 实例111 使用重载方法实现不同类型数据的...
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 mount /dev/fd0 /mnt/floppy 挂载一个软盘 mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom mount /dev/hdc ...
第3章 时间和财务计算 105 引言 105 3.1 计算昨天和明天的日期 111 3.2 寻找上一个星期五 112 3.3 计算日期之间的时段 114 3.4 计算歌曲的总播放时间 115 3.5 计算日期之间的工作日 116 3.6 自动查询节日 118...
输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔, 分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每...
输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔, 分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每...
屏幕上应该有两个备注类型的字段。 选择文件后,程序应读取并分割文件。 这些行的目标应写在右侧的备注中,另一半应写在左侧的备注中。 注意:如果行数为奇数,则左备忘录将有更多行。 第二个奇数行选择: 使一个...
0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用...
11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同...
0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用...
11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同...
11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同...
11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同...
11.1.18 将两个分类文件合并 110 11.2 系统sort 110 11.3 uniq用法 111 11.4 join用法 112 11.5 cut用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste用法 116 11.6.1 指定列 116 11.6.2 使用不同...
11.1.18 将两个分类文件合并 110 11.2 系统 sort 110 11.3 uniq 用法 111 11.4 join 用法 112 11.5 cut 用法 114 11.5.1 使用域分隔符 115 11.5.2 剪切指定域 115 11.6 paste 用法 116 11.6.1 指定列 116 ...