当前位置: 首页 > news >正文

编程一

题目:编写程序,将a.txt 文件中的单词与b.txt文件中的单词交替合并到 c.txt文件中,a.txt文件中的单词用回车符分离,b.txt文件中用回车或空格进行分离

//首先,新建一个文件Txt,其中包含 a.txt、b.txt、c.txt
这里写图片描述

package com.test1;

import java.io.FileWriter;

/*
 * 编写程序,将a.txt 文件中的单词与b.txt文件中的单词交替合并到 c.txt文件中,
 * a.txt文件中的单词用回车符分离,b.txt文件中用回车或空格进行分离
 */
public class Mainclass {
    public static void main(String[] args) throws Exception {
        FileManager a = new FileManager("./Txt/a.txt", new char[] { '\n' });
        FileManager b = new FileManager("./Txt/b.txt", new char[] { '\n', ' ' });
        FileWriter c = new FileWriter("./Txt/c.txt");

        String aWord = null;
        String bWord = null;
        while ((aWord = a.nextWord()) != null) {
            c.write(aWord + "\n");
            bWord = b.nextWord();
            if (bWord != null) {
                c.write(bWord + "\n");
            }
            c.close();
        }

    }

}
package com.test1;

import java.io.File;
import java.io.FileReader;

public class FileManager {
    String[] words = null;
    int pos = 0;

    public FileManager(String filename, char[] seperators) throws Exception {
        File f = new File(filename);
        FileReader fileReader = new FileReader(f);
        char[] buf = new char[(int) f.length()]; // f.length 获取文件的大小 并用int强制转换
        int len = fileReader.read(buf);
        String results = new String(buf, 0, len);
        String regex = null;

        if (seperators.length > 1) {
            regex = "" + seperators[0] + "|" + seperators[1];
        } else {
            regex = "" + seperators[0];
        }

        words = results.split(regex);

    }

    public String nextWord() {
        if (pos == words.length)
            return null;
        return words[pos++];

    }

}

相关文章:

  • Java链接数据库
  • 编程二
  • 设计一个一百亿的计算器
  • Java技术体系和学习纲要
  • Eclipse调优和设置
  • Java语法基础
  • 同步
  • Lock接口
  • StringBuffer和StringBuilder
  • 集合框架
  • Iterator接口
  • List接口
  • Set接口
  • java.lang.System
  • [译]前端离线指南(上)
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • angular2开源库收集
  • CODING 缺陷管理功能正式开始公测
  • Java应用性能调优
  • js正则,这点儿就够用了
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Terraform入门 - 3. 变更基础设施
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue.js-Day01
  • vue-router 实现分析
  • webgl (原生)基础入门指南【一】
  • 从零开始的无人驾驶 1
  • 翻译--Thinking in React
  • 后端_ThinkPHP5
  • 聊聊directory traversal attack
  • 七牛云假注销小指南
  • 原生js练习题---第五课
  • #Java第九次作业--输入输出流和文件操作
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (C语言)fread与fwrite详解
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (ZT)一个美国文科博士的YardLife
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (十)T检验-第一部分
  • ... 是什么 ?... 有什么用处?
  • .describe() python_Python-Win32com-Excel
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net mvc部分视图
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET正则基础之——正则委托
  • .NET中GET与SET的用法
  • .sh
  • //解决validator验证插件多个name相同只验证第一的问题
  • /boot 内存空间不够
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思