JAVA 的两种流 字节流 InputStream OutputStream 字符流 Reader Writer


  1. IO分两种流   
  2.   
  3. 字节流 InputStream OutputStream   
  4.   
  5. 字符流 Reader  Writer   
  6.   
  7. 他们都是抽象类   
  8.   
  9. 具体实现   
  10. 字节流 FileInputStream  FileOutputStream   
  11. 字符流 FileReader    FileWriter   
  12.   
  13.   
  14. 字节流转换成字符流可以用 InputSteamReader  OutputStreamWriter   
  15.   
  16. 转换成BufferdReader  BufferedWriter 他们具有缓冲区   
  17.   
  18. 例如:读取文件 从字节流输入到字符流输入   
  19. 定义一个字节流:   
  20. Java代码  
  21. FileInputStream fileInputStream = new FileInputStream("d:/text.txt");  // 定义一个指向D:/TEXT.TXT 的字节流     
  22.      
  23. InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);     
  24. //字节流转换成InputStreamReader     
  25.      
  26. BufferedReader bufferedReader = new BufferedReader(inputSteamReader);     
  27. //InputStreamReader 转换成带缓存的bufferedReader     
  28.   
  29. FileInputStream fileInputStream = new FileInputStream("d:/text.txt");  // 定义一个指向D:/TEXT.TXT 的字节流  InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream); //字节流转换成InputStreamReader  BufferedReader bufferedReader = new BufferedReader(inputSteamReader); //InputStreamReader 转换成带缓存的bufferedReader  
  30.   
  31.   
  32. 可以把读出来的内容赋值给字符   
  33. Java代码  
  34. String ss = new String();     
  35. String s;     
  36. while((s = bufferedReader.readLine())!=null){     
  37.     ss += s;     
  38. }     
  39.   
  40. String ss = new String(); String s; while((s = bufferedReader.readLine())!=null){  ss += s; }  
  41.   
  42. 例如:写入文件  从字节流输出到字符流输出   
  43. Java代码  
  44. FileOutputStream fileOutputStream = new FileOutputStream("d:/text.txt"); //定义一个     
  45.      
  46. 指向D:/TEXT.TXT文件      
  47.      
  48. OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);     
  49.      
  50. BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);     
  51.      
  52. bufferedWriter.write(s);     
  53.      
  54. bufferedWriter.close();     
  55. outputStreamWriter.close();     
  56. fileOutputStream.close();    
  57.   
  58.   
  59. ------------------------------------------------------------  
  60. 字节流和字符流      如果数据流中最小的数据单元是字节,那么称这种流为字节流;如果数据流中最小的数据单元是字符,那么称这种流为字符流。在Java的IO系统 中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,java.io.Reader 和java.io.Writer分别表示字符输入流和字符输出流。I/O流的层次  
  61. 1.字节流:  
  62. 从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。  
  63. ◇ InputStream、OutputStream  
  64. ◇ FileInputStream、FileOutputStream  
  65. ◇ PipedInputStream、PipedOutputStream  
  66. ◇ ByteArrayInputStream、ByteArrayOutputStream  
  67. ◇ FilterInputStream、FilterOutputStream  
  68. ◇ DataInputStream、DataOutputStream  
  69. ◇ BufferedInputStream、BufferedOutputStream  
  70. 2.字符流:  
  71. 从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。  
  72. ◇ Reader、Writer  
  73. ◇ InputStreamReader、OutputStreamWriter  
  74. ◇ FileReader、FileWriter  
  75. ◇ CharArrayReader、CharArrayWriter  
  76. ◇ PipedReader、PipedWriter  
  77. ◇ FilterReader、FilterWriter  
  78. ◇ BufferedReader、BufferedWriter  
  79. ◇ StringReader、StringWriter  
  80. 3.对象流  
  81. ◇ ObjectInputStream、ObjectOutputStream  
  82. 4.其它  
  83. ◇ 文件处理:  
  84. File、RandomAccessFile;  
  85. ◇ 接口  
  86. DataInput、DataOutput、ObjectInput、ObjectOutput----------------------------------------------------------------------------------------  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值