• Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1


    1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例:

    分析:

    (1)数据源:从哪里来

    a.txt   --   读取数据  --  FileInputStream

    (2)目的地:到哪里去

    b.txt   --   写数据    --   FileOutputStream

    2. 代码示例:

     1 package cn.itcast_03;
     2 
     3 import java.io.FileInputStream;
     4 import java.io.FileOutputStream;
     5 import java.io.IOException;
     6 
     7 /*
     8  * 复制文本文件。
     9  * 
    10  * 数据源:从哪里来
    11  * a.txt    --    读取数据    --    FileInputStream    
    12  * 
    13  * 目的地:到哪里去
    14  * b.txt    --    写数据        --    FileOutputStream
    15  * 
    16  * java.io.FileNotFoundException: a.txt (系统找不到指定的文件。)
    17  * 
    18  * 这一次复制中文没有出现任何问题,为什么呢?
    19  * 上一次我们出现问题的原因在于我们每次获取到一个字节数据,就把该字节数据转换为了字符数据,然后输出到控制台。
    20  * 而这一次呢?确实通过IO流读取数据,写到文本文件,你读取一个字节,我就写入一个字节,你没有做任何的转换。
    21  * 它会自己做转换。
    22  */
    23 public class CopyFileDemo {
    24     public static void main(String[] args) throws IOException {
    25         // 封装数据源
    26         FileInputStream fis = new FileInputStream("a.txt");
    27         // 封装目的地
    28         FileOutputStream fos = new FileOutputStream("b.txt");
    29 
    30         int by = 0;
    31         while ((by = fis.read()) != -1) {
    32             fos.write(by);
    33         }
    34 
    35         // 释放资源(先关谁都行)
    36         fos.close();
    37         fis.close();
    38     }
    39 }

    运行效果,如下:

  • 相关阅读:
    <SpringMvc>入门二 常用注解
    <SpringMvc>入门一 HelloWorld
    <MyBatis>入门六 动态sql
    <MyBatis>入门五 查询的返回值处理
    <MyBatis>入门四 传入的参数处理
    <MyBatis>入门三 sqlMapper文件
    <MyBatis>入门二 全局配置文件
    <MyBatis>入门一 HelloWorld
    类和类的继承(6)
    python 的重载
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4860666.html
Copyright © 2020-2023  润新知