Java基础之FileInputStream和FileOutputStream流详解
一、前言
FileInputStream 用于读取本地文件中的字节数据,继承InputStream类
FileOutputStream 将字节数据写到文件,继承OutputStream类
二、创建流对象
FileInputStream fis= new FileInputStream(“绝对路径”);
FileOutputStream fos= new FileOutputStream(“绝对路径”);
三、FileInputStream常用方法
1.构造函数,打开实际文件路径连接来创建FileInputStream
FileInputStream(路径);
2.关闭文件输入输出流,释放有关系统资源
没有返回值,一般搭配输入输出留的对象
close(); fis.close(); fos.close();
3.读取数据字节,有返回值
read();返回的是字节的(0-255)内的字节值,读一个自动到下一个,遇到-1即退出
read();//读取一个数据字节, read(byte[] b);//将b.length个字节的数据读入一个 byte 数组中 read(byte[] b,int off,int len)//将off到len 个字节的数据读入一个byte 数组中
4.从输入流中跳过并丢弃 n 个字节的数据
kip(long n); //返回值为long
四、FileOutputStream常用方法
写入文件
write(int b);//将指定字节写入文件,写入字节形式的(0-255)int值. write(byte[] b); //将b.length 个字节从指定 byte 数组写入此文件 write(byte[] b, int off, int len); //将指定 byte 数组中从偏移量 off 开始的 len 个字节写入文件
五、输入输出流测试代码
一个个字节读入,并一个个字节输出到另一个文件,即复制文件
class test1{ public static void main(String[] args) throws IOException { int b; FileInputStream fis = new FileInputStream("C:\\Users\\86135\\Desktop\\text1.txt"); //创建输入流对象 FileOutputStream fos = new FileOutputStream("C:\\Users\\86135\\Desktop\\text2.txt"); //创建输出流对象 while((b = fis.read()) != -1) { //将每次读到的赋值给b System.out.println(b); fos.write(b); //将b中的字节写出去 } fis.close();/关流,释放资源 fos.close(); } }
该测试代码输出的是对应的ASCII码值,每一个换行都会在输出对应的换行和回车键的ASCII码
并且将text1的文件复制到text2文件,只不过是一个个字节传送,比较缓慢
设置缓冲区,将一个个字节存放之后,在对应输入输出,加快了速度
class test1{ public static void main(String[] args) throws IOException { //int b; FileInputStream fis = new FileInputStream("C:\\Users\\86135\\Desktop\\text1.txt"); //创建输入流对象 FileOutputStream fos = new FileOutputStream("C:\\Users\\86135\\Desktop\\text2.txt"); //创建输出流对象 byte[] bytes = new byte[1024*10];//用数组当一个缓冲区 while(( fis.read(bytes)) != -1) { System.out.println(bytes); //将每次读到的赋值给bytes fos.write(bytes); //将bytes中的字节写出去 } fis.close(); //关流,释放资源 fos.close(); } }
可以将以上的方法在代码中一个个尝试
到此这篇关于Java基础之FileInputStream和FileOutputStream流详解的文章就介绍到这了,更多相关Java FileInputStream和FileOutputStream流内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
简单操作实现Java jsp servlet文件上传过程解析
这篇文章主要介绍了简单操作实现Java jsp servlet文件上传过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-10-10如何使用intellij IDEA搭建Spring Boot项目
这篇文章主要介绍了如何使用intellij IDEA搭建Spring Boot项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-07-07将Springboot项目升级成Springcloud项目的图文教程
本文主要介绍了将Springboot项目升级成Springcloud项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-06-06springboot+zookeeper实现分布式锁的示例代码
本文主要介绍了springboot+zookeeper实现分布式锁的示例代码,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
最新评论