(初学)JAVA IO流

一、IS与OS

节点流与处理流

1、按照流是否直接与特定的地方(如磁盘、内存、设备等)项链,分为节点流和处理流两类。

2、节点流:可以从或向一个特定的地方(节点)读写数据。

3、处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用时间数据读写。

4、处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

5、通常节点流也称为低级流。

6、通常处理刘也称为高级流或过滤流。

IS和OS常用方法:

1、InputStream是所有字节输入流的父类,其定义了基础的读取方法,常用的方法如下:
int read():
读取一个字节,以int形式返回,该int值得“低八位”有效,若返回值为-1则表示EOF。
int read(byte[] d)
尝试最多读取给定数组的length个字节并存入该数组,返回值为实际读取到的字节量。

2、OutputStream是所有字节输出流的父类,其定义了基础的写出方法,常用的方法如下:
void write(int d)
写出一个字节,写的是给定的int的“低八位”
void write(byte[] d)
将给定的字节数组中的所有字节全部写出

文件流

创建FOS对象(重写模式)
1、FileOutputStream是文件的字节输出流,我们使用该流可以以字节为单位将数据写入文件。
构造方法:
FileOutputStream(FIle file):
创建一个向指定File对象表示的文件中写出数据的文件输出流
FileOutputStream(String filename):
创建一个向具有指定名称的文件中写出数据的文件输出流。

注:若指定的文件已经包含内容,那么当使用FOS对其写入数据时,会将该文件中原有数据全部清除。

创建FIS对象
2、FileInputStream是文件的字节输入流,我们使用该流可以以字节为单位从文件中读取数据。
FIleInputStream有两个常用的构造方法:
       FileInoutStream(File file)
       创建一个从指定File对象表示的文件中读取数据的文件输入流。
       FileInoutStream(String name)
创建用于读取给定的文件系统中的路径名name所指定的文件的文件输入流。

代码:

package day01;

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

public class FileOutputStreamDemo {
	public static void main(String[] args) throws IOException {
		File file=new File("raf.txt");
		FileInputStream fis=new FileInputStream("raf1.txt");
		byte[] b=new byte[300];
		int len=fis.read(b);
		String str=new String(b,0,len);
		System.out.println(str);
		//读完之后要关闭
		fis.close();
	}
}

测试:
在这里插入图片描述
(如果出现乱码,则清空txt文件重新输入)
代码:

package day01;

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemowrite {
	public static void main(String[] args) throws IOException {
		FileOutputStream fos=new FileOutputStream("raf.txt");
		String str="要下课了";
		byte[] by=str.getBytes("GBK");
		fos.write(by);
		String str1="要下课了";
		byte[] by1=str.getBytes("GBK");
		fos.write(by1);
		System.out.println("写出完毕");
		fos.close();
	}
}

测试结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值