I/O(输入输出)


流是一组有序的数据序列,根据操作类型,可以分为输入流、输出流两种。
输入流
InputStream是字节输入流的抽象类,是所有字节输入流的父类。
方法 see below

read() : 从输入流中读取数据的下一字节。返回0~255范围的int字节值

在这里插入图片描述

注意:不是所有的Inputstream类的子类都支持InputStream中定义的方法。如skip()mark()、等只对某些子类有用

输出流
OutStream类是字节输出流的抽象类。所有方法都返回void。

write(int b):将指定的字节写入此输出流
write(byte[] b):将b个字节从指定的数组byte数组写入此输出流
write(byte[] b,int off,int len):从off开始len个字节写入此输出流
flush():彻底完成输出并清空缓存区
close():关闭输出流

File类

文件的创建与删除
1.File(String pathname)==》pathname指路径名称 例如 d:/1.txt
2.File(String pathname,String child)根据定义的父路径和子路径字符串创建一个新的File对象。

new File(String pathname,String child);

3.File(File f,String child)
根据parent抽象路径和child路径名字字符串创建一个新实例

当用File类创建一个文件对象后 see below(pay attention to)

File file = new File("world.txt");

如果当前目录不存在名为word的文件,File类对象可以通过调用creatrNewFile()方法创建一个文件,反之,如果已经存在,可通过delete()方法删除。

//代码准确性不可考,bug有点搞就没改对了。但还是有一点点参考价值,2333

public class FileTest{
	public static void mian(String[] args){
		File file = new File("word.txt");
		if(file.exists()){//如果文件存在
		file.delete();
		System.out.println("delete file")} 
		else
		{
		try{
		file.createNewFile();
		System.out.println("creat file")}
		catch(Exception e)
		{
		e.prinStackTrace();
		}
		}
	}
}

获取文件信息
看表格吧,敲出来有点多!!!
在这里插入图片描述

文件输入输出流

FileInputStream类和FileOutStream类都用来操作磁盘文件。

FileInputStream(String name)==》使用给定的文件名name创建一个FileInputStream对象
FileInputStream(File file)==》允许把文件连接输入流之前对文件进行一个分析//这句话没懂我透

FileReader类和FileWriter类
顺序地读取文件只要不关闭流,调用read()就可。
带缓存的输入输出流
BufferedInputstream与BufferedOutputStream类

BufferedInputstream类的构造方法
BufferedInputstream(InputStream in);
创建一个带有32个字节的缓存流
BufferedInputstream(InputStream in,int size);
按指定大小来创建缓存区

BufferedInputstream有一个flush()方法用来将缓存区的数据强制输出完。
flush具体看图(下面会在提到)
在这里插入图片描述

BufferedReader与BufferdWriter类
(分别继承了Reader类与Writer类)

BufferedReader的常用方法
read():读取单个字符
readLine():读取一个文本行
write(String s,int off,int len):写入字符串的某一部分
flush():刷新该流的缓存
newLine():写入一个行分隔符

数据输入输出流
DataInputStream类与DataOutputStream类
在这里插入图片描述
java中的字符是Unicode编码(双字节),writeBytes只是将字符串中的每一个字符低字节内容写入目标设备;writeChars将字符串的每一个字符的两个字节的内容都写到目标设备中;writeUT按照UTf编码后的字节长度写入目标设备,然后才是每一个字节的UFT编码。

发布了53 篇原创文章 · 获赞 6 · 访问量 4897

猜你喜欢

转载自blog.csdn.net/m0_46193982/article/details/104777641