javaday21

字节流
字节流的输出流
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

FileInputStream类

package demo01;

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

public class demo02InputStrean {
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);//67、43
	 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);//44、45
	 System.out.println("读取到的长度"+len);
	System.out.println(new String(bytes));
	
	 len= fis.read(bytes);//46、45
	 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();
	
}

}
结果是
5
cdefg

字节流的输入流(InputStream)
在这里插入图片描述在这里插入图片描述在这里插入图片描述

package demo01;

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

public class InputStrean {
public static void main(String[] args) throws IOException {

FileInputStream fis= new FileInputStream("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();

}
}
结果是
c
d
e
f
g

字符流
字符流输入(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) J:创建一个新的FileReader ,给定要读取的File对象。

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

  1. 读取字符数据
    package demo02;

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

public class Demo02Reaber {
public static void main(String[] args) throws IOException {
FileReader fis= new FileReader(“D:\exlipse\eclipse-workspace\Day21.java\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));

}

}
}
结果
14
大数据2005班第44号同学

在这里插入图片描述

2.使用字符数组读取
package demo02;

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

public class Demo02Reaber {
public static void main(String[] args) throws IOException {
FileReader fis= new FileReader(“D:\exlipse\eclipse-workspace\Day21.java\a.txt”);
/int len =0;
while((len =fis.read())!=-1) {
System.out.println((char)len);
}
/
char[] cs = new char[2];
int len =0;
while((len =fis.read(cs))!=-1) {
//System.out.println(len);
System.out.println(new String(cs));

}

}
}
结果
大数
据2
00
5班
第44号
同学

字符输出流(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() )关闭此流 ,但要先刷新它。

3.4 FileWriter类
java. io. Filewriter类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

构造方法

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

FileWriter(String fileName):创建一个新的FileWriter,给定要读取的文件的名称。

当你创建一个流对象时,必须传入-一个文件路径,类似于FileOutputStream.

package demo02;

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

public class Demo02Wreitre {
public static void main(String[] args) throws IOException {
FileWriter fw= new FileWriter(“D:\exlipse\eclipse-workspace\Day21.java\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

2020080605044

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bai3322732541

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值