java OutputStream的使用
1、
1 package cn.kongxh.io3; 2 3 import java.io.File ; 4 import java.io.OutputStream ; 5 import java.io.FileOutputStream ; 6 public class OutputStreamDemo01{ 7 public static void main(String args[]) throws Exception{ // 异常抛出,不处理 8 // 第1步、使用File类找到一个文件 9 File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象 10 // 第2步、通过子类实例化父类对象 11 OutputStream out = null ; // 准备好一个输出的对象 12 out = new FileOutputStream(f) ; // 通过对象多态性,进行实例化 13 // 第3步、进行写操作 14 String str = "Hello World!!!" ; // 准备一个字符串 15 byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组 16 out.write(b) ; // 将内容输出,保存文件 17 // 第4步、关闭输出流 18 out.close() ; // 关闭输出流 19 //文件不存在会自动创建 20 } 21 };
2、
1 package cn.kongxh.io3; 2 3 import java.io.File ; 4 import java.io.OutputStream ; 5 import java.io.FileOutputStream ; 6 public class OutputStreamDemo02{ 7 public static void main(String args[]) throws Exception{ // 异常抛出,不处理 8 // 第1步、使用File类找到一个文件 9 File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象 10 // 第2步、通过子类实例化父类对象 11 OutputStream out = null ; // 准备好一个输出的对象 12 out = new FileOutputStream(f) ; // 通过对象多态性,进行实例化 13 // 第3步、进行写操作 14 String str = "Hello World!!!" ; // 准备一个字符串 15 byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组 16 for(int i=0;i<b.length;i++){ // 采用循环方式写入 17 out.write(b[i]) ; // 每次只写入一个内容 18 } 19 // 第4步、关闭输出流 20 out.close() ; // 关闭输出流 21 } 22 };
3、
1 package cn.kongxh.io3; 2 3 import java.io.File ; 4 import java.io.OutputStream ; 5 import java.io.FileOutputStream ; 6 public class OutputStreamDemo03{ 7 public static void main(String args[]) throws Exception{ // 异常抛出,不处理 8 // 第1步、使用File类找到一个文件 9 File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象 10 // 第2步、通过子类实例化父类对象 11 OutputStream out = null ; // 准备好一个输出的对象 12 out = new FileOutputStream(f,true) ; // 此处表示在文件末尾追加内容 13 // 第3步、进行写操作 14 String str = "Hello World!!!" ; // 准备一个字符串 15 byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组 16 for(int i=0;i<b.length;i++){ // 采用循环方式写入 17 out.write(b[i]) ; // 每次只写入一个内容 18 } 19 // 第4步、关闭输出流 20 out.close() ; // 关闭输出流 21 22 /* 23 * 往打开的文件中追加 24 * 25 * */ 26 } 27 };
4、
1 package cn.kongxh.io3; 2 3 import java.io.File ; 4 import java.io.OutputStream ; 5 import java.io.FileOutputStream ; 6 public class OutputStreamDemo04{ 7 public static void main(String args[]) throws Exception{ // 异常抛出,不处理 8 // 第1步、使用File类找到一个文件 9 File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象 10 // 第2步、通过子类实例化父类对象 11 OutputStream out = null ; // 准备好一个输出的对象 12 out = new FileOutputStream(f,true) ; // 此处表示在文件末尾追加内容 13 // 第3步、进行写操作 14 String str = "\r\nHello World!!!" ; // 准备一个字符串 15 byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组 16 for(int i=0;i<b.length;i++){ // 采用循环方式写入 17 out.write(b[i]) ; // 每次只写入一个内容 18 } 19 // 第4步、关闭输出流 20 out.close() ; // 关闭输出流 21 } 22 };
5、
1 package cn.kongxh.io3; 2 3 import java.io.File ; 4 import java.io.OutputStream ; 5 import java.io.FileOutputStream ; 6 public class OutputStreamDemo05{ 7 public static void main(String args[]) throws Exception{ // 异常抛出,不处理 8 // 第1步、使用File类找到一个文件 9 File f= new File("d:" + File.separator + "test.txt") ; // 声明File对象 10 // 第2步、通过子类实例化父类对象 11 OutputStream out = null ; // 准备好一个输出的对象 12 out = new FileOutputStream(f) ; // 实例化 13 // 第3步、进行写操作 14 String str = "Hello World!!!" ; // 准备一个字符串 15 byte b[] = str.getBytes() ; // 只能输出byte数组,所以将字符串变为byte数组 16 out.write(b) ; // 写入数据 17 // 第4步、关闭输出流 18 // out.close() ; // 关闭输出流 19 20 /* 21 * 不关闭 也是会写入到文件中 证明并没有使用缓存区 22 * */ 23 } 24 };
总结:OutputStream一样分内存、本地文件、网络、其他线程管道几个方向