输入/输出流分类 及字符字节流

1:Java.io 包中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分类。
①:按数据流的方向不同可以分为输入流和输出流。
②:按处理数据单位不同可以分为字节流和字符流。
③:按照功能不同可以分为节点流和处理流。
2:J2SDK所提供的所有流类型位于包java.io内都分别继承自一下四种抽象流类型。

                 字节流             字符流
输入流		InputStream	  reader
输出流      OutputStream   Writer 

|类型       |字符流                 |字节流
|File(文件)|FileRead / FileWriter |  FIleInputStream / FileOutputStream
|Memory  Array| CharArrayReade/Writer|ByteArrayInputStream / out...
Memory  String| StringReader / StringWriter|  --------|
|Pipe(管道)  |PipedReader / PipedWriter  | PipedInputStream / Output...

        

1:以Stream结尾的都是都是字节流

读取
 import java.io.*;
 public class TestFileInputStream {
	 public static void main (String [] args){
		 int b = 0;
		 FileInputStream in = null;
		 
		 try {
			 in = new  FileInputStream("d:\\java\\io\\TestFileInputStream.java");
		 } catch(FileNotFoundException e) {
			 System.out.println("找不到指定文件"):
			 System.exit(-1);
		 }
		 
		 try{
			 long num = 0;
			 while((b = in.read()) != -1){ //一个个字节的读取,把读出来的值赋给b,b=-1,代表读完了
				 System.out.print((char)b); //把b转换为一个char类型
				 num++; //num代表读取了多少个字节
			 }
			 
			 in.close;
			 System.out.println();
			 System.out.println("共读取了" +num+ "个字节");
		 } catch(IOException e1) {
			 System.out.println("文件读取错误");
			 System.exit(-1);
		 }
	 }
 }
复制
import java.io.*;
 public class TestFileOutputStream {
	 public static void main (String [] args){
		 int b = 0;
		 FileInputStream  in  = null;
         FileOutputStream Out = null;
		 try {
			 in = new  FileInputStream("d:\\java\\io\\TestFileInputStream.java");
			 out = new FileOutputStream("d:\\share\java\io\HW.java");
			 
			 while((b = in.read()) != -1){  //读取  然后通过OutputStream写入
				 Out.write(b); 
			 }
			 
			 in.close();
			 outt.close();
		 } catch(FileNotFoundException e2) {
			 System.out.println("找不到指定文件");
			 System.exit(-1);
			 
		 }catch {IOException e1}{
			 System.out.println("文件复制错误");
			 System.exit(-1);
		 }
		 System.out.println("文件已复制");
	 }
 }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值