36Java I/O流-----文件流、缓冲流、对象流

I/O流概述

I/O(Input/Output)流,即输人输出流,是Java中实现输人输出的基础,它可以方便地实现数据的输人输出操作。
I/O流有很多种,按照不同的分类方式,可以分为以下3类:

1.字节流和字符流

根据流操作的数据单位的不同,可以分为字节流和字符流。字节流以字节为单位进行数据的读写,每次读写一一个或多个字节数据;字符流以字符为单位进行数据的读写,每次读写一个或者多个字符数据。

2.输入流和输出流

根据流传输方向的不同,又可分为输人流和输出流。其中输人流只能从流中读取数据,而不能向其写人数据;输出流只能向流中写人数据,而不能从中读取数据。

3.节点流和处理流

根据流的功能不同,可以分为节点流和处理流。其中节点流也被称为低级资,是指可以从一个特定的I/0设备(如磁盘)读写数据的流,它只能直接连接数据源,进行数据的读写操作;处理流也被称为高级流,它用于对于一个已存在的节点流进行连接和封装,通过封装后的流来实现流的读写能力。当使用处理流时,程序不会直接连接到实际的数据源,而是连接在已存在的流之上

文件流

package day07;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * 流
 * 流根据方向不同分为输入流与输出流,参照点为
 * 当前程序
 * 输入流用来读取数据,输出流用来写出数据
 * java.io.InputStream
 * 抽象类,定义了输入流的读取字节方法,所有的字节
 * 输入流都继承自它
 * 
 * java.io.OutputStream 则是所有字节输出流的父类
 * @author 
 *
 *
 *流分类节点流与处理流
 *节点流,也叫低级流,是负责读写数据的流
 *读写操作中必须要有低级流。数据源明确
 *
 *处理流,也叫高级流,读写可以没有高级流,
 *高级流也不能独立存在,必须用于处理其他流,
 *处理其他流的目的是简化读写数据中的操作
 *
 * java.io.FileOutputStream
 * 文件输出流,是一个低级流,作用是向文件中
 * 写出字节
 */
public class FOSDemo {
   

	public static void main(String[] args) throws IOException {
   
		/**
		 * 默认创建的FOS是覆盖写操作
		 * FOS会将文件数据(所有数据)全部
		 * 删除,然后在开始写
		 */
		FileOutputStream fos = new FileOutputStream("fos.txt");
		
		String str = "我爱北京天安门";
		/**
		 * String->byte[]
		 * 
		 * byte  getBytes()
		 * 将当前字符串按照系统默认字符集转换为一组字节
		 * 
		 * byte getBytes(String csn)
		 * 按照给定的字符集将当前字符串转换为一组字节
		 */
		byte[] data = str.getBytes("UTF-8");
		fos.write(data);
		System.out.println("写出完毕");
		fos.close();
	}

}

package day07;
/**
 * 文件输出流
 * 追加写操作
 */
import java.io.FileOutputStream;
import java.io.IOException;
public class FosDemo2 {
   
	public static void main(String[] args) throws IOException{
   
		/**
		 * 在创建FOS时,若指定第二个参数,
		 * 并且该值为true时,则是追加
		 * 写操作,那么本次通过FOS写出
		 * 的内容会被追加到该文件末尾
		 */
		FileOutputStream fos= new FileOutputStream("fos.txt",true);
		fos.write("哦".getBytes("UTF-8"));
		System.out.println("写出完毕");
		fos.close();
	}
}
package day07;

import java.io.FileInputStream;
import java.io.IOException;

/**
 * Java.io.FileInputStream
 * 文件输入流,是一个低级流,用于
 * 从文件中读取字节
 * @author 
 *
 */
public class FosDemo3 {
   

	public static void main(String[
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值