700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java学习笔记IO之字节输入输出流

java学习笔记IO之字节输入输出流

时间:2021-01-19 12:43:50

相关推荐

java学习笔记IO之字节输入输出流

IO字节输入输出流

OutputStream:字节输出流

该抽象类是所有字节输出流的超类;

定义了一些共性的成员方法:

1.写入一个字节

void write(int b);//b表示字节

2.写入字节数组

void write(byte[] b);//写入一个字节数组

3.写入字节数组的一部分

void write(byte[] b,int off, int len);//off 表示起始索引,len表示写几个

4.刷新输出流,并强制写出所有缓冲的输出字节

void flush();

5.关闭输出流并释放与之有关的所有系统资源

void close();

FileOutputStream :文件字节输出流 extends OutputStream

作用:

把内存中的字节数据,写入到文件中保存

构造方法:

1.创建一个指向File对象表示的文件中写入数据的文件输出流

FileOutputStream(File file);

2.创建一个指定名称的文件中写入数据的输出文件流

FileOutputStream(String name);//通俗说就是个文件路径名

构造方法的作用(也就是他干什么事)

1.会根据构造方法的参数,创建一个文件,如果没有设置追加写的值,文件已经存在的话,就会覆盖

2.创建一个FileOutputStream对象

3.将这个对象指向目的地

IO读写的过程:

java程序--->JVM--->OS(操作系统)--->调用方法进行读写文件

FileOutputStream的使用步骤:

1.创建对象,在构造方法中绑定写入数据的目的地2.调用对象中的方法write,把数据写入到文件中3.释放资源

注意:

字节流操作的是字节,所以会直接把字节写入到文件中;

字符流操作的是字符,先会将字符写到内存的缓冲区中,进行转换,转换为字节,再使用底层的字节流将数据写入到文件中

字符输出流使用实例1

1 FileOutputStream fos= new FileOutputStream("a.txt");//a.txt相对路径,相对项目目录下2 fos.write(97);//写入一个字节3 fos.close();//关闭流并释放资源

使用实例2:

FileOutputStream fos= new FileOutputStream(new File('a.txt'));//构造方法中传递一个File文件对象byte[] b="你好".getBytes();//使用String类方法将字符串转换成字节数组fos.write(b);//写入一个字节数组fos.close();//关闭资源

追加写与换行

1.追加写:boolean append 参数追加写开关,true是追加,false是不追加,默认是false

FileOutputStream(File file, boolean append);FileOutputStream(String pathname,boolean append);

2.换行

win系统:\r\n

linux:/n

mac:\r

可以使用System类的静态方法动态获取换行符

System.getProperty("line.separator");

InputStream:字节输入流,该抽象类是所有字节输入流的超类

共性的成员方法:

1.读取一个字节并返回,没有字节返回-1

int read();

2.读取一定量的字节数,并存储到字节数组中,返回读取到的字节数

int read(byte[] b);

3.关闭输入流并释放与之有关的所有系统资源

void close();

FileInputStream:文件字节输入流 java.lang.FileInputStream extends InputStream

作用:将文件中的数据,以字节的形式读取到内存中

构造方法:

FileInputStream(File file);//数据源使用File对象FileInputStream(String pathname);//数据源是一个文件路径

构造方法的作用:

1.创建一个字节输入流的对象

2.会将这个对象指向构造方法中要读取的数据源

FileInputStream使用步骤:

1.创建对象,绑定构造方法中的数据源2.调用字节输入流的方法read,来读取文件3.释放资源

FileInputStream读取单字节实例:

1 //创建对象,绑定源文件2 FileInputStream fis= new FileInputStream("a.txt");//a.txt是存在的3 //读取单字节。4 int len=0;5 while((len=fis.read())!=-1){6 System.out.println((char)len);//这里的输出就只能是单字节字符,不能是中文,因为一个中文2个字节,读一个字节就输出会乱码; 7 }8 //关闭流资源9 fis.close();

FileInputStream读取字节数组实例:

//创建输入流对象FileInputStream fis=new FileInputStream(new File("a.txt"));//创建要接收字节的数组byte[] b= new byte[1024];//这里一般是1024或者其整数倍int len =0;//这里的len是每次读取的有效个数while((len= fis.read(b))!=-1){System.out.println(new String(b,0,len));//这里使用String类的构造方法,b是字节数组,0是开始索引,len是个数 }/*注意:1.字节数组的作用:起到缓冲的作用,一次读取多个字节存在数组中,提高效率,这个字节数组的长度一般定义为1024或者是1024的倍数2返回值int是什么:每次读取的有效字节个数*/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。