通过手写系统小工具摸清IO流套路

1.IO流通用步骤

IO流操作大致可以分为4个步骤:

  • 创建源(输入源,输出源)
  • 创建流(输入流,输出流)
  • 操作流完成任务
  • 关闭流
    IO虽然系统庞大,却有其规律可循,下面就通过一个复制文件的例子来展示。

2 创建类

通过手写系统小工具摸清IO流套路_第1张图片

  • 创建源:我们这里用函数来演示
  • 在这里插入图片描述
  • 创建流
  • 通过手写系统小工具摸清IO流套路_第2张图片
  • 流可能会创建失败,所以我们用try-catch语句捕获并且抛出异常
  • 操作流
  • 通过手写系统小工具摸清IO流套路_第3张图片
  • 使用byte类型可以操作任意文件,简单的编码与解码操作
  • 关闭流
  • 通过手写系统小工具摸清IO流套路_第4张图片
  • 我们将关闭流语句放入finally中,安全起见要判断他们不为null,并且需要使用try-catch语句捕获异常。

3.测试

通过手写系统小工具摸清IO流套路_第5张图片
我们找来一张图片,复制它为copy01.png
通过手写系统小工具摸清IO流套路_第6张图片
复制成功,打开看一下
通过手写系统小工具摸清IO流套路_第7张图片

3.最后附上源码

import java.io.*;

/

**
 * 〈一句话功能简述〉
* 〈复制文件〉 * * @author long * @create 19-3-28 * @since 1.0.0 */ public class CopyFile { public static void main(String[] args) { copyfile("Firefox_wallpaper.png","copy01.png"); } static void copyfile(String inputFile,String outputFile){ //创建源 File inputFrom = new File(inputFile); File outputTo = new File(outputFile); InputStream inputStream = null; OutputStream outputStream = null; try{ outputTo.createNewFile();//创建文件 //创建流 inputStream = new FileInputStream(inputFrom); outputStream = new FileOutputStream(outputTo); byte[] flush = new byte[1024];//字节缓冲数组,每次缓冲1k int len = -1; //接收长度 while(-1!=(len = inputStream.read(flush))){//编码操作 outputStream.write(flush,0,len);//解码操作 } } catch (IOException e) { e.printStackTrace(); }finally { //关闭流 //先开后关 if(null!=outputStream){ try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(null!=inputStream){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

你可能感兴趣的:(Java,入门教程,面向对象,IO流,java,IO流,小工具,基础教程,入门)