学习时间

2021-04-08

学习内容

IO流基础知识

定义

  1. IO流用来处理设备之间的数据传输
  2. Java对数据的操作是通过流的方式
  3. Java用于操作流的对象都在IO包 java.io 当中

概述

  1. 字节流的抽象基类:
    InputStream ,OutputStream。

  2. 字符流的抽象基类:
    Reader , Writer。

  3. 注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。
    如:InputStream的子类FileInputStream。
    如:Reader的子类FileReader。

分类

(1): 按照流向进行划分

输入流
输出流

(2): 按照操作的数据类型进行划分

字节流
字节输入流   InputStream                 读
字节输出流   OutputStream                写字符流
字符输入流   Reader                      读
字符输出流   Writer                      写

常用字节流

FileOutputStream类 和 FileInputsteam类

构造方法

  1. FileOutputStream(File file)
  2. FileOutputStream(String name)
  3. FileInputStream(File file)
  4. FileInputStream(String name)

常用方法

  1. public void write(int b):写一个字节 超过一个字节的时候,忽略掉前面的字节
  2. public void write(byte[] b):写一个字节数组
  3. public void write(byte[] b,int off,int len):写一个字节数组的一部分
  4. public void read():写一个字节 超过一个字节的时候,忽略掉前面的字节
  5. public void read(byte[] b):写一个字节数组
  6. public void read(byte[] b,int off,int len):写一个字节数组的一部分

注意

  1. FileOutputStream本类在new对象的时候会判断文件是否存在,如果不存在,就会自动创建出来。
  2. FileInputsteam类在new对象的时候会判断文件是否存在,如果不存在,不会自动创建,而是会报错。

演示

演示阶段异常先抛出,后文会有专门针对异常的解释和处理。

  1. 复制文件
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {FileInputStream in = new FileInputStream(new File("a.txt"));FileOutputStream out = new FileOutputStream(new File("b.txt"));byte[] bytes = new byte[1024];int by = 0;while ((by = in.read(bytes)) != -1) {out.write(bytes,0,by);}in.close();out.close();System.out.println("复制完成 ");}
}
  1. 复制歌曲
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {FileInputStream in = new FileInputStream("C:\\Users\\用户名\\Desktop\\贝加尔湖畔.mp3");FileOutputStream out = new FileOutputStream("C:\\Users\\用户名\\Desktop\\贝加尔湖畔2.mp3");byte[] bytes = new byte[1024];int by=0;while ((by=in.read(bytes))!=-1) {out.write(bytes,0,by);}in.close();out.close();System.out.println("复制完成 ");}
}

声明:

关于转载:

允许非商业用途转载,注明出处和链接即可。

JavaSE--IO流相关推荐

  1. JavaSE IO流 Vol.2 节点流 - 输入流 入门

    JavaSE IO流 Vol.2 节点流 - 输入流 入门 1. 前言 2. 节点流 - 输入流 结构体系 3. 节点流 - 输入流 ● InputStream · FileInputStream ● ...

  2. JavaSE | IO流

    java.io.File类(文件和目录路径名的抽象表示形式) 如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建.删除.重命名文件和目录. File类是文件或目录的路径,而不是 ...

  3. JavaSE——IO流

    字符集/编码表 概念: ​ 字符集其实就是我们之前说的编码表. 编码表的作用: ​ 计算机在存储数据的时候会用到他. ​ 比如:计算机要存储小写的a,会到ASCII码表中,查询到小写的a对应的数字是9 ...

  4. JavaSE -IO流

    文章目录 1.File---文件类 1.1 File类介绍 1.2 File的主要工作 1.3 入门案例 FileDemo001 1.4 File 创建文件案例 FileDemo002 1.5 Fil ...

  5. JAVASE IO流,文字不多,代码为主,自学用,谨慎借鉴,有错误请指正

    目录 java.io.File类:主要用于文件和目录路径名的创建,查找,删除操作 绝对路径和相对路径 文件夹操作 IO流FileReader,FileWriter对文本文件进行复制操作 IO流File ...

  6. JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入)

    JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入) 开发流程:需求文档 接口文档 效果图 开发环境统一:JDK1.8 IDEA win10 GIT SSM SSH SpringB ...

  7. JavaSE进阶26 - IO流概述、字节流、字符流、转换流、缓冲流

    目录 IO概述 FileInputStream的使用 FileOutputStream使用 文件复制 文件的复制原理 代码 FileReader FileWriter 复制普通文本文件 Buffere ...

  8. JavaSE从头再来(七)——增强IO流

    JavaSE从头再来(七)--增强IO流 从头再来第七弹,主要涉及到缓冲流.转换流.序列化流和打印流 一.缓冲流 能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等等.这些功能 ...

  9. Java全栈(二)JavaSE:25.File类和IO流

    1 java.io.File类 1.1 概述 File类是java.io包下代表与平台无关的文件和目录,也就是说如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建.删除.重命名 ...

  10. JavaSE 进阶 - 第23章 IO流

    JavaSE 进阶 - 第23章 IO流 1.IO流,什么是IO? 2.IO流的分类 3.流应该怎样学习? 4.java IO流的四大家族 5.java.io包下需要掌握的16个流 5.1 FileI ...

最新文章

  1. 人工智能项目正在起飞:这对未来的工作意味着什么?
  2. OpenCV成长之路:图像滤波
  3. IIS 上传文件大小配置步骤(默认200K)
  4. Java语言语法语义分析器设计与实现
  5. 史上最好记的神经网络结构速记表(上)
  6. Asp.net页面和Html页面之间的关系
  7. 关于Python的一切:2018年,你读这8本书就够了
  8. 动态向客户端注册脚本文件
  9. LDO芯片数据手册怎么看?
  10. fenix3 hr 中文说明书_佳明 Fenix3 HR中、英文菜单对照 V4.0
  11. Flask-SQLAlchemy relationship中的 lazy屬性
  12. 计算机打印驱动怎么安装,打印机驱动怎么安装,详细教您打印机驱动怎么安装...
  13. 渗透测试入门(域名、DNS)— 理论知识
  14. python 远程操作Sqlite3
  15. 线性表示线性相关线性无关
  16. Themida是先进的Windows软件保护系统
  17. 使用内存池的原因,内存池的应用
  18. 明风社和大家分享利用网络赚钱的集中方法
  19. 马克!程序员必须收藏的 10 类工具库,助你提高效率变大神
  20. vosviewer关键词共现网络实现

热门文章

  1. 天方夜谭,躲过热力学第二定律的时间结晶“永动机”在谷歌量子计算机中实现
  2. CUMT2020华为杯
  3. 《0day安全》——数据与程序的分水岭:DEP
  4. 姐姐担忧闪婚妹妹被骗强迫迎其乱精力病
  5. Qtdesigner设计实例——计算器 +可执行文件exe制作
  6. 第5次作业+037+吴烨倩
  7. 【总结】java.lang.StackOverflowError错误原因及解决办法
  8. 怪兽充电或赴美上市,官网域名竟然是个组合域名?
  9. java生成一条唯一的邀请码_如何实现用户id生成一个唯一邀请码
  10. GMTUTC,UNIX时间戳,时区