标签:
【JavaSE】day09_节点流和高级流
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(); } }
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(); } }
具体细节见代码:
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://blog.csdn.net/u011637069/article/details/48064061