51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> java >> 文章正文

将A文件和B文件的内容合并到C文件没有换行

更新时间:2012-3-17:  来源:51代码网

import java.io.*;

public class Combine {

    public static void main(String[] args) {
        String[] name = new String[2];
        String nameC = null;
        System.out.println("About this program:这个程序可以将您输入的两个文件A与B合并成C");
        System.out.println("请输入您想合并两个文件名(加上后缀),每个文件名以回车确认:");
        BufferedReader getInput = new BufferedReader(new InputStreamReader(
                System.in));
        BufferedReader bufferedR = null;
        BufferedWriter bufferedW = null;
        File[] file = new File[2];
        try {
            for (int i = 0; i < 2; i++) {
                name[i] = getInput.readLine();
                file[i] = new File(name[i]);
            }
            nameC = name[0].substring(0, name[1].indexOf(".")) + name[1];
            bufferedW = new BufferedWriter(new FileWriter(
                    new File(nameC)));
            String line;
            for (int i = 0; i < 2; i++) {
                bufferedR = new BufferedReader(new FileReader(file[i]));
                while ((line = bufferedR.readLine()) != null) {
                    bufferedW.write(line + "\n");
                    System.out.println("next");
                    getInput.read();
                }
            }
            System.out.println("合并成功!");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                getInput.close();
                bufferedR.close();
                bufferedW.close();
            } catch (Exception e) {
                System.out.println("Wrong when close the stream.");
            }
        }    }}
bufferedW.write(line + "\n");
楼主只加了换行,你把回车加上试试。
 bufferedW.write(line + "\r\n");
B.txt 文件有问题,前三个字节"EF BB BF",连接到ab.txt后,也是这样.
建议删除b.txt,再建一个吧。
另外看连接的文件,还是没有回车。("0D").你看是否写入文件时 加了"\r".

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |