java IO 理解

流的概念:

1、流就像一根管道,两边接着不同的容器,通过这个管道就可以读入或者读取容器的数据。

比如:文件输入流,FileInputStream 可以将指定文件中内容读取到程序中。

注意:字节数组输出流 ByteArrayOutputStream  他自带缓冲区,API中提到

protected
byte[]
buf
存储数据的缓冲区。那么这个流所接着一头的容器就是这个字节数组

 他的public byte[] toByteArray()方法,以 byte 数组的形式返回此输出流的当前内容。

这样就可以将一个Double型转换成字节数组

//字节数组输出流
  ByteArrayOutputStream  bos= new ByteArrayOutputStream();
  //包装
  DataOutputStream dos = new DataOutputStream(bos);
  //写入整形
  dos.writeInt(2000);
  //得到字节数组
  byte[] bs = bos.toByteArray();//bos 被嵌套了之后,他任然可以调用方法对流操作
  
  //字节数组输入流
  ByteArrayInputStream bis = new ByteArrayInputStream(bs);
  DataInputStream dis = new DataInputStream(bis);
  //以整数的形式读取出来
  System.out.println(dis.readInt());

 

2、流的分类:

节点流和处理流

节点流:直接操作数据,他连接着两头的容器

处理流:嵌套在节点流上,增加节点流的功能,使得使用更加方便。

处理流必须嵌套在节点流之上,但是它没有改变管道的指向,管道还是连接原来的容器

节点流被嵌套之后任然可以调用自己的方法操作流(前面代码已经提到)

 

3、输入输出都是相对于程序而言,如果对于这个程序而言数据是写入那么就是输入流,反之输出流。

 

4、自己的理解:

对于数据,如果要保证数据正确,那么

(1、)我们在写入时,必须按照他的正确形式写入,别double、string

(2、)我们在读取的时候,读取的顺序和写入的顺序,已经形式读必须一致,因为数据就是10001001010

必须按照顺序来,先写的先读取

对象序列化,也是一样

(3、)在写入时要注意是接着写在后面,还是清空原来的重新写入

(4、)注意流的刷新缓冲区,流的关系顺序,先开的后关闭。

(5、)配置文件

Properties p = new Properties();
  FileInputStream fis = new FileInputStream("d:/a.properties");
  p.load(fis);//加载流中的配置内容
  
  String font_size = p.getProperty("font-size");
  String font_color = p.getProperty("font-color");
  String font_family = p.getProperty("font-family");


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
毕设新项目基于python3.7+django+sqlite开发的学生就业管理系统源码+使用说明(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交学习!不清楚的可以私信问我! 学生就业管理系统(前端) ## 项目开发环境 - IDE: vscode - node版本: v12.14.1 - npm版本: 6.13.4 - vue版本: @vue/cli 4.1.2 - 操作系统: UOS 20 ## 1.进入项目目录安装依赖 ``` npm install ``` ## 2.命令行执行进入UI界面进行项目管理 ``` vue ui ``` ## 3.编译发布包(请注意编译后存储路径) #### PS:需要将编译后的包复制到后端项目的根目录下并命名为'static' 学生就业管理系统(后端) ## 1.项目开发环境 - IDE: vscode - Django版本: 3.0.3 - Python版本: python3.7.3 - 数据库 : sqlite3(测试专用) - 操作系统 : UOS 20 ## 2.csdn下载本项目并生成/安装依赖 ``` pip freeze > requirements.txt pip install -r requirements.txt ``` ## 3.项目MySQL数据库链接错误 [点击查看解决方法](https://www.cnblogs.com/izbw/p/11279237.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值