Java系列教程:文件IO操作

本文详细介绍了Java中的文件IO操作,包括文件读写的本质、字节流与字符流的区别及常用方法。重点讲解了FileInputStream和FileOutputStream的使用,以及如何利用BufferedReader和BufferedWriter进行高效的数据读写。通过InputStreamReader和OutputStreamWriter实现了字节流与字符流之间的转换。
摘要由CSDN通过智能技术生成

1.什么是文件IO操作呢?
文件的IO操作将磁盘文件中的数据读取到内存中或者将内存中的数据写回磁盘文件的操作.
对于FileInputStream,主要是将磁盘文件中的数据读入到用户态JVM堆内存的过程,具体会先从磁盘文件拷贝到内核态的内存(RAM)中,然后再将内核态内存中的数据拷贝到用户态的内存空间,对于Java主要是指拷贝到JVM堆中的过程.
对于FileOutputStream,主要是指将内核态内存(JVM堆)中的数据写回磁盘文件的过程,具体会先将用户态内存的数据拷贝回内核态的内存(RAM),然后再写回磁盘文件的过程.
在这里插入图片描述
2.常用IO流以及具体使用
从操作数据是属于字节还是字符可以分为字符流和字节流两大类,字节流的父类主要是指继承自InputStream和OutputStream的所有子类.而字符流主要指继承自Reader和Writer的所有子类.

字符流和字节流的区别
字符流: 操作的基本单元为Unicode码元,使用缓冲区,
字节流: 操作的基本单位为字节,默认不使用缓存区。
字节流Diagram字符流Diagram

字节流常用方法

方法 描述
read() 从InputStream流读取下一个字节的数据
read(byte b[]) 从InputStream中读取0到byte数组长度的数据并保存到byte数组中,最多读取byte数组长度数据,如果数据不够byte数组长度,则读取实际数据大小
read(byte b[], int off, int len) 读取0到len个数据并保存到byte数组中,其中第一个数据将保存到byte[off]位置,具体读取多少数据以实际数据多少为主,最多读取len数据
close() 关闭与文件或其他IO设备的流

字符流常用方法

方法 描述
read() 读取单个字符数据
read(java.nio.CharBuffer target) 读取数据到CharBuffer
read(char cbuf[]) 读取数据到字符数组中
read(char cbuf[], int off, int len) 读取数据到字符数组中,同时从off开始存储,最多存储len个字符
close() 关闭与字符流

常用流介绍

  1. 文件流相关
    FileInputStream:主要从文件中读取数据
    FileOutputStream:主要将内存中的数据写回文件
    从文件读取数据
public class FileDemo {
   
    public static void main(String[] args) throws Exception{
   
       InputStream
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值