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;
/**
* 读入两个文件,写入一个文件测试字符编码问题 (0 表示: GBK 1 表示: utf-8)
* readA readB writer result
* 0 0 0 ok
* 0 0 1 ok
* 0 1 0 乱码(前ok后乱码) 因为前面的读和写一致
* 0 1 1 ok
* 1 0 0 乱码(前乱码后ok) 因为后面的读和写一致
* 1 0 1 ok
* 1 1 0 乱码(前后都是乱码)
* 1 1 1 ok
*
* @author xiejiaohui (2013-1-11)
*
*/
public class LuanMaTest {
public static void main(String[] args) throws Exception {
printNowDate();
// 中国银行|农业银行
// 建设银行|交通银行
File R_A_0 = new File("d:\\Reader_A_GBK.txt"); // 保存格式为:ascii
File R_A_1 = new File("d:\\Reader_A_utf-8.txt"); // 保存格式为:utf-8
// 工商银行|招商银行
// 商业银行|村镇银行
File R_B_0 = new File("d:\\Reader_B_GBK.txt"); // 保存格式为:ascii
File R_B_1 = new File("d:\\Reader_B_utf-8.txt"); // 保存格式为:utf-8
File W_0_0_0 = new File("d:\\W_0_0_0.txt");
File W_0_0_1 = new File("d:\\W_0_0_1.txt");
File W_0_1_0 = new File("d:\\W_0_1_0.txt");
File W_0_1_1 = new File("d:\\W_0_1_1.txt");
File W_1_0_0 = new File("d:\\W_1_0_0.txt");
File W_1_0_1 = new File("d:\\W_1_0_1.txt");
File W_1_1_0 = new File("d:\\W_1_1_0.txt");
File W_1_1_1 = new File("d:\\W_1_1_1.txt");
BufferedReader R_A_0_bf = null;
BufferedReader R_A_1_bf = null;
BufferedReader R_B_0_bf = null;
BufferedReader R_B_1_bf = null;
BufferedWriter W_0_0_0_bf = null;
BufferedWriter W_0_0_1_bf = null;
BufferedWriter W_0_1_0_bf = null;
BufferedWriter W_0_1_1_bf = null;
BufferedWriter W_1_0_0_bf = null;
BufferedWriter W_1_0_1_bf = null;
BufferedWriter W_1_1_0_bf = null;
BufferedWriter W_1_1_1_bf = null;
// 0 0 0
action(R_A_0, "GBK", R_A_0_bf, R_B_0, "GBK", R_B_0_bf, W_0_0_0, "GBK", W_0_0_0_bf);
// 0 0 1
action(R_A_0, "GBK", R_A_0_bf, R_B_0, "GBK", R_B_0_bf, W_0_0_1, "utf-8", W_0_0_1_bf);
// 0 1 0
action(R_A_0, "GBK", R_A_0_bf, R_B_1, "utf-8", R_B_1_bf, W_0_1_0, "GBK", W_0_1_0_bf);
// 0 1 1
action(R_A_0, "GBK", R_A_0_bf, R_B_1, "utf-8", R_B_1_bf, W_0_1_1, "utf-8", W_0_1_1_bf);
// 1 0 0
action(R_A_1, "utf-8", R_A_1_bf, R_B_0, "GBK", R_B_0_bf, W_1_0_0, "GBK", W_1_0_0_bf);
// 1 0 1
action(R_A_1, "utf-8", R_A_1_bf, R_B_0, "GBK", R_B_0_bf, W_1_0_1, "utf-8", W_1_0_1_bf);
// 1 1 0
action(R_A_1, "utf-8", R_A_1_bf, R_B_1, "utf-8", R_B_1_bf, W_1_1_0, "GBK", W_1_1_0_bf);
// 1 1 1
action(R_A_1, "utf-8", R_A_1_bf, R_B_1, "utf-8", R_B_1_bf, W_1_1_1, "utf-8", W_1_1_1_bf);
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()));
}
public static void action(
File readFileA, String readFileAFmt, BufferedReader bufferedReaderA,
File readFileB, String readFileBFmt, BufferedReader bufferedReaderB,
File WriteFile, String writeFileFmt, BufferedWriter bufferedWriter)
throws Exception {
String s1;
String s2;
bufferedReaderA = new BufferedReader(new InputStreamReader(new FileInputStream(readFileA), readFileAFmt));
bufferedReaderB = new BufferedReader(new InputStreamReader(new FileInputStream(readFileB), readFileBFmt));
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(WriteFile), writeFileFmt));
while ((s1 = bufferedReaderA.readLine()) != null) {
while ((s2 = bufferedReaderB.readLine()) != null) {
String[] s_l = s1.split("\\|");
String[] s_2 = s2.split("\\|");
bufferedWriter.append(s_l[1] + "____" + s_2[1] + "\n");
println(s_l[0] + "____" + s_l[1] + "____" + s_2[0] + "____" + s_2[1]);
}
}
bufferedReaderA.close();
bufferedReaderB.close();
bufferedWriter.close();
}
}
分享到:
相关推荐
改程序实现了简单的java的文件读取以及写入的操作
在我们需求中需要读取一个csv文件的数据,但是只有旧的csv的几列数据再新写入一个csv文件,而且在旧的数据有空的数据,需要判断旧的csv的空值。可能写的存在不完善!但是应用的需求里面还是能用的
该资源包含了java四种方式读取和写入xml文件的代码
java读取和写入EXCEL文件,在myeclipse平台上运行!!
java利用io技术创建文件夹、读取txt文件、写入txt文件(覆盖、不覆盖均有)
下面小编就为大家带来一篇java读取文件和写入文件的方式(简单实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
javaIO简单的写入读取文件 资源源于不但搜索,自由源于不但努力
使用Java实现对dbf文件的简单读写.
shp文件:地理信息系统,也被称作GIS,它主要的扩展类型是SHAPEFILE (.SHP),一个包含了矢量地理空间数据的流行文件格式,描述了几何形态,点,线和多边形...该方法通过java代码实现将shp文件的数据读取以及存入数据库
java读取文件内容 转换成字符串 正则匹配获取所有手机号 并保存到另一文件中 文件可以是txt excel word 文件等。
java读取文件大全 写入字节流 读取字节流 在实际运用中相当的广泛 大家共享下资料
Java实现文件复制,File文件读取,写入,IO流的读取写入
java通过snakeyaml类能非常方便的操作,读写yaml文件。
NULL 博文链接:https://yue1132.iteye.com/blog/1751504
java 文件读写 java 文件读写java 文件读写 java 文件读写java 文件读写 java 文件读写java 文件读写 java 文件读写
利用java 读取URL的资源,并且把读取到的资源写入到指定路径的文件中。
java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题
Java保存与读取文件代码示例,super("存储与读取对象"); //调用父类构造函数 Container container=getContentPane(); //得到容器 Icon imageIcon=new ImageIcon("image.gif"); //实例化一个图标 ...
Java读取和写入二进制大文件的方法,应该说是一个基于二进制的大文件块,演示了如何自定义缓存区,并使用不具有缓冲功能的DataInputStream 和DataOutputStream 类来读写二进制的大文件块数据,运行效果请参见如下...
读取一个文件加下的txt文件,读取文件中内容,自动录入数据库