Java入门—输入输出流
File类的使用
文件是:文件可认为是相关记录或放在一起的数据的集合。
Java中,使用java.io.File类对文件进行操作
public class FileDemo {public static void main(String[] args) {String path = "E:\\pdd";File f = new File(path);//判断是文件还是目录System.out.println(f.isFile());System.out.println(f.isDirectory());}
}
对于File类还有其他很多方法的使用,建议在使用时进行查询文档。
字节流
- 字节输入流 :InputStream (读)
字节输出流 :OutputStream (写)
image.png
FileInputStream
读取诸如图像数据的原始字节流,如图片,文件中的字节。
image.png
public class FileDemo {public static void main(String[] args) {String path = "";// FileInputStream,try {FileInputStream fs = new FileInputStream(path);try {int n = fs.read();System.out.print((char)n);fs.close();} catch (FileNotFoundException e) {e.printStackTrace();}} catch (IOException e) {e.printStackTrace();}}
}
代码中注意异常的继承关系,外层异常不能为内层异常的子类。
FileOutputStream
将数据写入文件中。
缓冲流
- BufferedInputStream
- BufferedOutputStream
缓冲流,当缓冲区满了,提交,减少频繁写入操作。
public class FileDemo {public static void main(String[] args) {String path = "";try {FileOutputStream fos = new FileOutputStream(path);BufferedOutputStream bos = new BufferedOutputStream(fos);FileInputStream fis = new FileInputStream(path);BufferedInputStream bis = new BufferedInputStream(fis);bos.write(50);bos.write('a');//提交数据到文件bos.flush();bos.close();System.out.println(bis.read());bis.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}
字符流
- 字符输入流 : Reader
- 字符输出流 : Writer
字节字符转换流
- InputStreamReader 输入
- OutputStreamWriter 输出
读写数据时保持编码一致。
对象的序列化和反序列化
对象序列化步骤:
- 创建一个类继承Serializable接口
- 创建对象
- 处理对象(写文件,发http,入库等)
- 读取对线
- ObjectInputStream 对象输入流
- ObjectOutputStream 对象输出流
示例:
新建一个Goods.java文件,定义一个Goods类并继承Serializable接口
public class Goods implements Serializable{private String goodsId;private String goodsName;private double price;@Overridepublic String toString() {return "Goods{" +"goodsId='" + goodsId + '\'' +", goodsName='" + goodsName + '\'' +", price=" + price +'}';}public Goods(String goodsId, String goodsName, double price){this.goodsId = goodsId;this.goodsName = goodsName;this.price = price;}public String getGoodsId() {return goodsId;}public void setGoodsId(String goodsId) {this.goodsId = goodsId;}public String getGoodsName() {return goodsName;}public void setGoodsName(String goodsName) {this.goodsName = goodsName;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}
}
再建一个测试入口文件名为GoodsTest.java
public class GoodsTest {public static void main(String[] args) {String path = "1.txt";Goods gd = new Goods("001", "allen", 6.0);try {FileOutputStream fos = new FileOutputStream(path);ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(gd);oos.writeBoolean(true);oos.flush();oos.close();System.out.println("-----------------------------------");FileInputStream fis = new FileInputStream(path);ObjectInputStream ois = new ObjectInputStream(fis);try {Goods gt = (Goods)ois.readObject();boolean b = ois.readBoolean();System.out.println(gt);System.out.println(b);} catch (ClassNotFoundException e) {e.printStackTrace();}ois.close();}catch (IOException e){e.printStackTrace();}}
}
对名为1.txt的文件进行类的存储和读取。
注:养成看官方文档的习惯,因为毕竟有些方法用的频率很少,当你使用时去查阅即可,文章中关于类的方法部分没有详情,请查阅官方手册,手册中写的很清楚。
如果文章对你有帮助记得点赞~,关注作者第一时间获得最新更新~~。
祝好~~~
Java入门—输入输出流相关推荐
- Java高效输入输出流讲解
Java高效输入输出流讲解 Java中执行输出和输入操作,需要通过IO流.例如最常见的System.out.println()就是一个输出流.IO流的类比较多,但核心体系就是由File. InputS ...
- Java之输入输出流(文件的读写)
Java之输入输出流(文件的读写) 首先,在编程的世界,流明显显得很重要.C++的输入输出流,Java的输入输出流等等. 首先我们得学会如何使用Java的输入输出流.首先,它们被封装在Java的一个叫 ...
- java回忆录—输入输出流详细讲解(入门经典)
今天我们开始进入学习 java 中比较让人头疼的事, 那就是 I/O 流.多线程.网络编程.这里对 I/O 流的一个详细讲解.希望对大家有点用吧.(不看后悔哦) 一.什么是IO Java中I/O操作主 ...
- java实验 输入输出流_java实验七 输入输出流
有关java的实验和程序 实验七 输入输出流 一.实验目的和要求 目的: 1.掌握使用输入输出流进行文件的读写操作. 要求: 1.实验报告给出内容1,2的填充代码以及内容3的全部源代码. 二.实验内容 ...
- Java(2)-Java IO输入输出流
一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...
- java+输出流++空值_一文搞定Java的输入输出流等常见流
点赞再看,养成习惯,常用流,多看多练准没错!文章较长,建议收藏再看! 1.IO流分析 什么是IO? I:Input O:Output 通过IO可以完成对硬盘的读和写. IO流的分类. 有多种分类方式: ...
- 浅谈Java的输入输出流
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象.在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输 ...
- Java - io输入输出流 --转换流
转换流 转换输出流 OutputStreamWriter: 说明: /* * OutputStreamWriter 这个类的作用 * 就是指定输出流的编码格式 * 这个类的构造方法 需要传递 一个输 ...
- Java入门输入提升:数组与字符数组以及多维数组的输入
开篇前吐槽一点,java 的输入输出真的是值得被诟病的一点,比之其他常用语言难搞数倍不止,对于像我一样的小白十分不友好. 本小白通过查阅大量他人经验,总结了如下两种方式,以例题说代码,仅供大家参考: ...
最新文章
- 综述:如何给模型加入先验知识
- Android Nougat 有望本月到来:支持手动曝光调节
- Android中实现不同文字颜色和图文混排的Span总结
- 虚拟磁盘类型_一起来了解一下Window10系统中虚拟硬盘的相关操作
- 第二届数据科学家大会 专家豪华阵容公布!
- Groovy全攻略--嵌入篇
- fiddler实现后端接口 mock(不需要修改开发代码)
- 课程题目 : 1003. 简单字符串匹配
- 如何复制PDF文件中的文本和图片?
- django orm级联_django系列5.3--ORM数据库的多表操作
- java版b2b2c社交电商spring cloud分布式微服务 (三) 服务消费者(Feign)
- Butterfly-蝴蝶-主题优化、美化-Lete乐特
- 记录进行Uniprot转化为Entrez ID的过程
- 中国可以用计算机吗,能用计算器吗?中国小学四年级数学题让外国大学生崩溃!...
- JAVA 图片格式转换 jpg、jpeg、png格式互转
- java-家庭作业3
- Git 笔记 - git rebase
- 腾讯位置服务模仿微信发送位置功能
- 2021哈工大深入理解计算机系统Lab5(linklab)
- Zabbix的item数据采集、tigger监控规则、action触发动作原理介绍