- 浏览: 304533 次
- 性别:
- 来自: 江阴
文章分类
最新评论
有一个联行号的文件,和一个银行文件,需要读取联行号文件中的某行,用银行文件中的行替换,联行号文件的第四列编号为银行文件的编号,需要把银行名称和银行网点显示在第三个文件中。
联行号文件的内容如下:
银行文件的内容如下:
结果文件
这个程序需要读取两个文件,写入一个文件,我得出如下情况
如果读入的两个文件,保存的格式都是 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 2432求一个四位数,这个数字乘以9以后,等于这个数的倒序 pa ... -
java reader file & writer file
2013-12-12 19:33 1294package com.xjh.dh; import ... -
Java Puzzlers
2013-11-26 22:31 874package com.xjh.study; pub ... -
java ProcessBuidler
2013-11-23 16:10 650import java.io.File; impor ... -
java txt to excel
2013-11-16 11:40 1050package com.xiejiaohui.dc; ... -
java程序在tomcat环境下读取配置文件
2013-08-02 21:43 1677package com.xiejiaohui.core; ... -
inno setup 下载地址
2013-07-15 14:37 692经常要制作安装文件的,大部分的人是用inno setup 来制 ... -
我的第一个 web server 程序
2013-03-08 22:26 979参考书《How Tomcat Works》这本书非常好,我觉得 ... -
我的第一个 Jetty 程序
2013-03-08 22:08 1233参考网上的例子 在 eclipse 中新建 java 项目 ... -
计算两个日期的相隔天数
2013-02-17 21:16 921package com.xjh.util; impo ... -
java读取文件和写入文件
2013-01-11 21:49 1213package com.xjh.util; imp ... -
我写的一个读取文件写入excel的程序
2013-01-07 21:18 1305我最近写了一个程序,这个程序的需求是这样的: 1 读取一个t ... -
比较数组中的两个账号是否相同(初学者)
2012-09-03 19:54 877Comparer.java package com.xj ... -
测试_20120818
2012-08-18 19:46 933Calculater.java package com. ... -
java加密解密
2011-11-05 14:48 648http://snowolf.iteye.com/blog/3 ... -
一个小学五年级的暑假作业
2011-08-24 11:12 764请你从字母算式里写出数字计算。 W I N ... -
java 递归删除某个目录
2010-10-11 16:02 1682import java.io.File; import ... -
Java 读文件,写文件
2010-05-31 08:20 1642package com.xjh.util; import ... -
判断一个日期字符串是否输入正确
2010-01-16 14:54 1389import java.text.ParseExcepti ... -
jsp页面中不能显示图片
2008-06-13 14:29 3754在 AIX 5.3 操作系统,WebSphere 5.1 应用 ...
相关推荐
2. **使用库**:由于.NET框架标准库并不直接支持读写Excel文件,我们需要依赖第三方库。两个常用的库是: - **NPOI**:这是一个开源库,用于读写Microsoft Office格式,包括Excel。它支持`.xls`和`.xlsx`格式。 - ...
在C#中,进行文本文件操作主要涉及到System.IO命名空间下的类,如StreamWriter用于写入文件,StreamReader用于读取文件。下面,我们分步骤讲解如何实现杨辉三角形的写入和读出: 1. **写入杨辉三角形到文件**: - ...
3. 比较文件内容:逐行读取两个文件的内容,直到文件末尾。如果某一行内容不匹配,则可以判断两个文件数据不一致。 ```java String line1, line2; while ((line1 = br1.readLine()) != null && (line2 = br2....
在本篇文章中,我们将深入探讨如何使用Java来读取和写入2007版Excel文件,并介绍相关的Java包。 首先,最常用的库是Apache POI项目提供的HSSF和XSSF。HSSF是用于处理.xls文件的API,而XSSF则是针对.xlsx文件。这两...
这个函数通过`fopen`打开文件,使用`fgetl`逐行读取直到文件末尾,然后在指定行数时将内容写入新文件。如果你想读取特定几行,只需修改条件判断即可。 ```matlab function dataout=dataread(filein,fileout,line) ...
程序需要读取两个输入文件,每个文件分别存储一个矩阵,然后进行矩阵乘法运算。这涉及到对文件的打开、读取、关闭操作,以及对数据的解析和存储。文件操作通常使用系统调用或API函数完成,例如在Windows环境下,可以...
在某些情况下,你可能需要考虑使用其他数据导入方法,如使用LabVIEW的CSV文件读取功能,或者利用第三方库如JACE(Java for LabVIEW)来提高效率和兼容性。 总的来说,"Labview读取Excel表格到数组中,并获取行列...
本文主要探讨了Python第三方库在Excel文件读写中的应用,包括pyExcelerator和xlrd这两个库的具体使用方法和它们在实际操作中的优劣比较。 pyExcelerator是专门用于操作Excel文件的一个第三方类库模块。它不仅能够...
例子中展示了如何读取名为'matlab3.txt'的文本文件,使用`fscanf`读取每一行的第一个字符串: ```matlab fid=fopen('matlab3.txt','r'); a=fscanf(fid,'%s'); ``` 2. **写入文本文件**: 使用`fprintf`函数...
易语言提供了“打开文件”和“读取文本文件”两个命令来读取文本文件。首先,我们需要使用“打开文件”命令打开一个文本文件,然后用“读取文本文件”命令逐行读取文件内容,将每一行保存到一个变量中。 2. **定位...
根据题目描述,我们需要比较两个Excel文件中的数据,并将第一个文件中存在但第二个文件中不存在的数据输出到新的Excel文件中。具体实现如下: 1. **定义读取函数**: ```python def read_xlrd(excel_file, sheet_...
FileWrite类用于将随机整数数组写入文本文件中,而ReadData类用于从文本文件中读取数据并将其存储在数组中。 三、FileWrite类 FileWrite类有两个构造函数。第一个构造函数的参数是fileName、n和size,其中fileName...
(注意是两个等号) 如if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 2、if exist 文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如if exist ...
7. 资源管理:本例中使用了两个文件句柄,分别用于读取和写入操作。在使用完文件句柄后,我们及时地关闭了它们,这是一种良好的资源管理习惯。 8. 性能考虑:在处理大型CSV文件时,可能需要考虑性能问题。通过设置...
3. 设置`DataGridView`的列数,根据CSV文件的第一行确定列名。 4. 将每行数据添加到`DataGridView.Rows`集合中。 **从DataGridView导出数据到CSV文件:** 1. 创建一个字符串数组,用于存储要写入文件的行。 2. 遍历...
本案例主要介绍如何使用Python3进行Excel文件的操作,包括读取数据并将其转换为字典形式以及向Excel文件中写入数据。案例通过实际代码展示了如何利用`openpyxl`库来实现Excel文件的写入功能,以及使用`xlrd`库来完成...
在Python中,可以使用`open()`函数来打开文件,其接受两个参数:文件名和打开模式。例如,`f = open('file.txt', 'r')`将打开名为`file.txt`的文件并以只读模式打开。文件路径可以是绝对路径,也可以是相对路径,如...
这两个类分别用于创建ZIP格式的压缩文件和读取解压缩ZIP文件。 1. **ZipOutputStream**: 这个类允许我们向一个输出流写入ZIP文件条目。创建一个`ZipOutputStream`对象,然后通过调用`putNextEntry`方法开始一个新的...
Python 文件操作是编程中常见的任务,它涉及到读取、写入和处理文件内容。以下是一些关于Python文件操作的关键知识点: 1. **文件访问**:在Python中,可以通过`open()`函数打开一个文件。例如,`open_filename = ...