IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java输入与输出学习练习题 -> 正文阅读

[Java知识库]Java输入与输出学习练习题

1.编写一个程序,其功能是将两个文件内容合并到一个文件中。

思路:本题主要考察对文件流类FileReader和FileWriter的使用方法,实现从文件中读取数据,以及向文件中输入数据。
第一步: 采用面向字符的文件流读出文件内容,使用FileReader类的read()方法,写文件内容使用FileWriter类的write()方法。
第二步: 通过键盘方式输入要合并的两个源文件的文件名以及合并后的新文件名。
第三步: 将两个源文件内容分别读出并写入到目标文件中。

package com.chapter7;

import java.io.*;

/**
 * @Author: qp
 * @Time: 2021/10/6 16:34
 * @Description 将两个文件的内容合并到一个文件中
 */
public class Example7_7 {

    public static void main(String[] args) throws Exception {
        File file1, file2, fout;//定义需要合并的文件和合并之后的文件

        //通过键盘方式输入文件名 system.in是InputStream对象
        InputStreamReader inputStreamReader = new InputStreamReader(System.in);//定义字节输入流
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);//定义缓冲字符输入流


        System.out.println("请输入需要合并的第一个文件名:");
        file1 = new File(bufferedReader.readLine());
        if(!file1.exists()){
            System.out.println("文件名不存在");
            System.exit(0);
        }

        System.out.println("请输入需要合并的第二个文件名:");
        file2 = new File(bufferedReader.readLine());
//        需要进行文件是否存在的判定,因为文件将用于输入流,如果系统中不存在此文件,将会报错Exception in thread "main" java.io.FileNotFoundException: xxx.txt (系统找不到指定的文件。)
        if(!file2.exists()){
            System.out.println("文件名不存在");
            System.exit(0);
        }

        System.out.println("请输入合并后的文件名:");
        fout = new File(bufferedReader.readLine());
//        不需要判定,因为此文件将用于输出流
//        if(!fout.exists()){
//            System.out.println("文件名不存在");
//            System.exit(0);
//        }

        //合并file1和file2
        FileReader f1 = new FileReader(file1);
        FileReader f2 = new FileReader(file2);
        FileWriter fileWriter = new FileWriter(fout);
        int ch;
        while ((ch = f1.read())!=-1){
            fileWriter.write(ch);//复制file1文件内容到fout文件中
        }

        while ((ch = f2.read())!=-1){
            fileWriter.write(ch);//复制file2文件内容到fout文件中
        }

        if(fout!=null){
            System.out.println("合并成功");
        }else {
            System.out.println("合并失败");
        }

        f1.close();
        f2.close();
        fileWriter.close();
    }


}

2.计算机中的流是指:流动的字节

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:43:18  更:2021-10-07 13:44:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 18:46:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码