java InputStream的使用

1、

 1 package cn.kongxh.io3;
 2 import java.io.File ;
 3 import java.io.InputStream ;
 4 import java.io.FileInputStream ;
 5 public class InputStreamDemo01{
 6     public static void main(String args[]) throws Exception{    // 异常抛出,不处理
 7         // 第1步、使用File类找到一个文件
 8         File f= new File("d:" + File.separator + "test.txt") ;    // 声明File对象
 9         // 第2步、通过子类实例化父类对象
10         InputStream input = null ;    // 准备好一个输入的对象
11         input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
12         // 第3步、进行读操作
13         byte b[] = new byte[1024] ;        // 所有的内容都读到此数组之中
14         input.read(b) ;        // 读取内容   网络编程中 read 方法会阻塞
15         // 第4步、关闭输出流
16         input.close() ;                        // 关闭输出流
17         System.out.println("内容为:" + new String(b)) ;    // 把byte数组变为字符串输出
18     }
19 };

2、

 1 package cn.kongxh.io3;
 2 import java.io.File ;
 3 import java.io.InputStream ;
 4 import java.io.FileInputStream ;
 5 public class InputStreamDemo02{
 6     public static void main(String args[]) throws Exception{    // 异常抛出,不处理
 7         // 第1步、使用File类找到一个文件
 8         File f= new File("d:" + File.separator + "test.txt") ;    // 声明File对象
 9         // 第2步、通过子类实例化父类对象
10         InputStream input = null ;    // 准备好一个输入的对象
11         input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
12         // 第3步、进行读操作
13         byte b[] = new byte[1024] ;        // 所有的内容都读到此数组之中
14         int len = input.read(b) ;        // 读取内容
15         // 第4步、关闭输出流
16         input.close() ;                        // 关闭输出流\
17         System.out.println("读入数据的长度:" + len) ;
18         System.out.println("内容为:" + new String(b,0,len)) ;    // 把byte数组变为字符串输出
19     }
20 };

3、

 1 package cn.kongxh.io3;
 2 
 3 import java.io.File ;
 4 import java.io.InputStream ;
 5 import java.io.FileInputStream ;
 6 public class InputStreamDemo03{
 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         InputStream input = null ;    // 准备好一个输入的对象
12         input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
13         // 第3步、进行读操作
14         byte b[] = new byte[(int)f.length()] ;        // 数组大小由文件决定
15         int len = input.read(b) ;        // 读取内容
16         // 第4步、关闭输出流
17         input.close() ;                        // 关闭输出流\
18         System.out.println("读入数据的长度:" + len) ;
19         System.out.println("内容为:" + new String(b)) ;    // 把byte数组变为字符串输出
20     }
21 };

4、

 1 package cn.kongxh.io3;
 2 
 3 import java.io.File ;
 4 import java.io.InputStream ;
 5 import java.io.FileInputStream ;
 6 public class InputStreamDemo04{
 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         InputStream input = null ;    // 准备好一个输入的对象
12         input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
13         // 第3步、进行读操作
14         byte b[] = new byte[(int)f.length()] ;        // 数组大小由文件决定
15         for(int i=0;i<b.length;i++){
16             b[i] = (byte)input.read() ;        // 读取内容
17         }
18         // 第4步、关闭输出流
19         input.close() ;                        // 关闭输出流\
20         System.out.println("内容为:" + new String(b)) ;    // 把byte数组变为字符串输出
21     }
22 };

5、

 1 package cn.kongxh.io3;
 2 
 3 import java.io.File ;
 4 import java.io.InputStream ;
 5 import java.io.FileInputStream ;
 6 public class InputStreamDemo05{
 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         InputStream input = null ;    // 准备好一个输入的对象
12         input = new FileInputStream(f)  ;    // 通过对象多态性,进行实例化
13         // 第3步、进行读操作
14         byte b[] = new byte[1024] ;        // 数组大小由文件决定
15         int len = 0 ; 
16         int temp = 0 ;            // 接收每一个读取进来的数据
17         while((temp=input.read())!=-1){
18             // 表示还有内容,文件没有读完
19             b[len] = (byte)temp ;
20             len++ ;
21         }
22         // 第4步、关闭输出流
23         input.close() ;                        // 关闭输出流\
24         System.out.println("内容为:" + new String(b,0,len)) ;    // 把byte数组变为字符串输出
25     }
26 };

总结:InputStream操作的是字节、实现类分为几个方向、内存、本地文件、网络、其他线程管道

posted on 2017-05-19 17:03  祥昊  阅读(81433)  评论(0编辑  收藏  举报

导航