Java--21

字节流

字节输出流

在这里插入图片描述

FileInputStream类

在这里插入图片描述

package demo01;

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

public class demo01InputStrean {
	public static void main(String[] args) throws IOException  {
		//1、创建FileInputStream对象,构造方法中绑定要读取的数据
		FileInputStream fis= new FileInputStream("a.txt");
		//byte[] bytes =new byte[2];
		//int len= fis.read(bytes);//
		//System.out.println("读取到的长度"+len);
		/*System.out.println(bytes);
		System.out.println(bytes[0]);//取出数组的值
		System.out.println(bytes[1]);
		System.out.println(Arrays.toString(bytes));*/
		//System.out.println(new String(bytes));
		
		/* len= fis.read(bytes);
		 System.out.println("读取到的长度"+len);
		System.out.println(new String(bytes));
		
		 len= fis.read(bytes);
		 System.out.println(len);
		System.out.println(new String(bytes));
		
		 len= fis.read(bytes);
		 System.out.println("读取到的长度"+len);
		System.out.println(new String(bytes));
		
		 len= fis.read(bytes);
		 System.out.println("读取到的长度"+len);
		System.out.println(new String(bytes));//两个字节
		*/
		
		byte[] bytes =new byte[9];
		int len =0;
		while((len=fis.read(bytes))!=-1) {
			System.out.println(len);
			System.out.println(new String(bytes));
		}
		
		fis.close();
		
	}

}

字节输入流(InputStream)

在这里插入图片描述
在这里插入图片描述

package demo01;

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

public class demo02InputStrean {
	public static void main(String[] args) throws IOException  {
		//创建FileInputStream 对象,构造方法
	FileInputStream fis= new FileInputStream("D:\\Da1Java\\yjq21\\a.txt");
		/*
		int len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		len= fis.read();
		System.out.println(len);
		*/
	//2、使用read方法 读取
	int len =0;
		while((len=fis.read())!=-1) {
			System.out.println((char)len);
			
		}
		
		fis.close();
		
	}
	
}

字符流

字符流输入(Reader)

java . io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。
I public void close() :关闭此流并释放与此流相关联的任何系统资源。
public int read() | :从输入流读取一个字符。
public int read(char[] cbuf) ]:从输入流中读取一些字符,并将它们存储到字符数组cbuf中。

FileReader类

java. io. FileReader类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

构造方法

I FileReader(File file) :创建一个新的FileReader ,给定要读取的File对象。

FileReader(String fileName):创建一 个新的FileReader ,给定要读取的文件的名称。当你创建一个流对象时,必须传入-个文件路径。类似于FileInputStream 。

1. 读取字符数据

在这里插入图片描述

package demo02;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class demo01Reaber {
	public static void main(String[] args) throws IOException  {
		FileReader fis= new FileReader("D:\\Da1Java\\yjq21\\a.txt");
		/*int len =0;
		while((len =fis.read())!=-1) {
			System.out.println((char)len);
		}*/
		char[] cs = new char[14];
		int len =0;
		while((len =fis.read(cs))!=-1) {
			System.out.println(len);
			System.out.println(new String(cs));
			
		}
	}
}
	输出:
	8
	大数据2005

2.使用字符数组读取

package demo02;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class demo01Reaber {
	public static void main(String[] args) throws IOException  {
		FileReader fis= new FileReader("D:\\Da1Java\\yjq21\\a.txt");
		/*int len =0;
		while((len =fis.read())!=-1) {
			System.out.println((char)len);
		}*/
		char[] cs = new char[3];
		int len =0;
		while((len =fis.read(cs))!=-1) {
			System.out.println(len);
			System.out.println(new String(cs));
			
		}
	}
}
	输出:
	3
	大数据
	3
	200
	2
	50

字符输出流(Writer)

| java.io.Writer抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。它定义了字节输出流的基本共性功能方法。
void write(int C):写入单个字符。
I void write(char[] cbuf):写入字符数组。
abstract void write(char[] cbuf, int off, int len) :写入字符数组的某一 部分,off数组的开始索引,len写的字符个数。
| void write(String str):写入字符串。
| void write(String str, int off, int len) :写入字符串的某一 部分off字符串的开始索引,en写的字符个数。
void flush() :刷新该流的缓冲。
void close() :关闭此流 ,但要先刷新它。

FileWriter类

java. io. Filewriter类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。
构造方法
! FileWriter(File file) ]:创建一一个新的FileWriter ,给定要读取的File对象。
FileWriter(String fileName):创建一个新的FileWriter,给定要读取的文件的名称。
当你创建一个流对象时,必须传入一个文件路径,类似于FileOutputStream.

package demo02;

import java.io.FileWriter;
import java.io.IOException;

public class demo02Wreitre {
	public static void main(String[] args) throws IOException  {
		 FileWriter fw= new FileWriter("D:\\Da1Java\\yjq21\\a.txt");
		fw.write(99);//学要被写入的字符还在缓冲区
		fw.flush();
		fw.write(100);//学要被写入的字符还在缓冲区
		fw.flush();
		fw.write(101);//学要被写入的字符还在缓冲区
		fw.flush();
		fw.write(102);//学要被写入的字符还在缓冲区
		fw.flush();
		fw.write(103);//如果只写一个,直接用close,实际生活中要多次依据
		fw.flush();
		fw.close();
		//fw.write(103);//需要被些人的字符还在缓存区
	}
}
	输出:
	cdefg

2020080605012

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值