博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JavaSE】day09_节点流和高级流
阅读量:4305 次
发布时间:2019-05-27

本文共 2067 字,大约阅读时间需要 6 分钟。

【JavaSE】day09_节点流和高级流

1.FileOutputStream

1)java.io.FileOutputStream

 * 文件的字节输出流,用于向文件中写出字节。是一个低级流。

2)默认创建的FOS是覆盖写操作。

         * 该覆盖操作是在写内容前将原文件所有数据清除,然后重新写入新内容。

3)还支持一个重载的构造方法,第二个参数传入一个boolean值,若该值为true,则是追加写操作,

   * 即:通过该流写出的数据会在当前文件的末尾写入。 而不是将原来的数据都清除。

具体实现见代码:

package day02;import java.io.FileOutputStream;import java.io.IOException;/** * java.io.FileOutputStream * 文件的字节输出流,用于向文件中写出字节。是一个低级流。 * */public class FOSDemo1 {	public static void main(String[] args) throws IOException {		/*		 * 默认创建的FOS是覆盖写操作。		 * 该覆盖操作是在写内容前将原文件所有数据清除,		 * 然后重新写入新内容。		 */		//FileOutputStream fos = new FileOutputStream("fos.txt");				/*		 * 还支持一个重载的构造方法,第二个参数传入一个		 * boolean值,若该值为true,则是追加写操作,		 * 即:通过该流写出的数据会在当前文件的末尾写入。		 * 而不是将原来的数据都清除。		 */		FileOutputStream fos = new FileOutputStream("fos.txt",true);				String str = "一步两步,一步两步像爪牙,像魔鬼的步伐";				byte[] data = str.getBytes();				fos.write(data);				/*		 * 流使用完毕也要关闭,释放资源!		 */		fos.close();			}}

2.FileInputStream

1)FileInputStream  ---- 低级流,用于读取文件数据的流。

代码:

package day02;import java.io.FileInputStream;import java.io.IOException;/** * FileInputStream * 低级流,用于读取文件数据的流 * */public class FISDemo1 {	public static void main(String[] args) throws IOException {		FileInputStream fis = new FileInputStream("fos.txt");				byte[] data = new byte[200];		int len = fis.read(data);				String str = new String(data,0,len);		System.out.println(str);				fis.close();	}}

3.BufferedOutputStream与BufferedInputStream

具体细节见代码:

package day02;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 缓冲流写出数据注意事项: */public class BOSDemo {	public static void main(String[] args) throws IOException {		FileOutputStream fos = new FileOutputStream("bos.txt");				BufferedOutputStream bos = new BufferedOutputStream(fos);				String str = "我爱北京天安门";		byte[] data = str.getBytes();				bos.write(data);				/*		 * void flush()		 * 该方法会强制将缓冲区中的数据一次性写出,不管缓冲区		 * 是否已经装满。频繁调用flush()方法会提高写出次数从		 * 而降低写出效率,但是会保证写出的及时性。		 */		bos.flush();				/*		 * 当关闭缓冲流的时候,它会首先调用flush()将剩余在缓冲区		 * 中的数据先写出,然后再将它处理的流关闭后,才将自己关闭。		 */		bos.close();	}}

转载地址:http://orews.baihongyu.com/

你可能感兴趣的文章
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
X 分钟速成 Python
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>