----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 
一、

一、IO流的三种分类方式

1.按流的方向分为:输入流和输出流

2.按流的数据单位不同分为:字节流和字符流

3.按流的功能不同分为:节点流和处理流

    二、IO流的四大抽象类:

字符流:Reader Writer

字节流:InputStream(读数据)

OutputStream(写数据)

    三、InputStream的基本方法

int read() throws IOException 读取一个字节以整数形式返回,假设返回-1已到输入流的末尾

void close() throws IOException 关闭流释放内存资源

long skip(long n) throws IOException 跳过n个字节不读

    四、OutputStream的基本方法

void write(int b) throws IOException 向输出流写入一个字节数据

void flush() throws IOException 将输出流中缓冲的数据所有写出到目的地

    五、Writer的基本方法

void write(int c) throws IOException 向输出流写入一个字符数据

void write(String str) throws IOException将一个字符串中的字符写入到输出流

void write(String str。int offset,int length)

将一个字符串从offset開始的length个字符写入到输出流

void flush() throws IOException

将输出流中缓冲的数据所有写出到目的地

    六、Reader的基本方法

代码具体解释:

System.in

int read() throws IOException 读取一个字符以整数形式返回。假设返回-1已到输入流的末尾

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

/*

 * System.in是InputStream static final的,包括了多态,叫同步式或者堵塞式

 * 读取ASCII和二进制文件(图片)。而字母就是ASCII字符(个人理解)。

 */

public class TestSystemIn {

 public static void main(String[] args) {

  InputStreamReader isr = new InputStreamReader(System.in);

  BufferedReader br = new BufferedReader(isr);//有readline

  String s = null;

  try {

   s = br.readLine();

   while(s!=null) {

    if(s.equalsIgnoreCase("exit")) {

     break;

    }

    System.out.println(s.toUpperCase());

    s = br.readLine();

   }

   br.close();

  }catch (IOException e) {

   e.printStackTrace();

  }

 }

}

八,FileInputStream

import java.io.*;

public class TestFileInputStream {

 public static void main(String[] args) {

  FileInputStream in = null;

  try {

   in = new FileInputStream("e:/1.txt");

  }catch(FileNotFoundException e) {

   System.out.println("找不到文件");

   System.exit(-1);

  }

  //以下表示找到了文件

  int tag = 0;

  try {

   long num = 0;

   while((tag = in.read())!=-1) {

    //read是字节流,若是有汉字就显示不正常了,使用reader就攻克了

    System.out.print((char)tag);

    num++;

   }

   in.close();

   System.out.println();

   System.out.println("共读取了" + num + "字符");

  }catch(IOException e1) {//read和close都会抛出IOException

   System.out.println("文件读取错误");

   System.exit(-1);

  }

 }

}

最新文章

  1. Solr:Schema设计
  2. [Node.js] BDD和Mocha框架
  3. UVa 644 Immediate Decodability
  4. C# 一个简单的秒表引发的窗体卡死问题
  5. linux文件属性权限相关
  6. NSOutputStream\NSInputStream
  7. < meta > 元素 概要
  8. SQLServer .mdf和.ldf文件
  9. 正则抓取网页所有href和src
  10. iOS 微信消息拦截插件系列教程-附录(服务端成果展示)
  11. 聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全
  12. OC基础之可循环滚动并突出中间图片,并且可点击
  13. Shell脚本中获取select值
  14. 处理 NCBI taxonomy tree
  15. [leetcode] 329. Longest Increasing Path in a Matrix My Submissions Question
  16. ssh linux免密登录。。。。生产共钥到另一台主机
  17. oracle批量更新之使用游标进行分批次更新的5种方式及速度比对
  18. 玩转树莓派:OpenHAB的入门(一)
  19. OC 线程操作2 - NSThread
  20. 用标签页TitleSwitch切换不通的控制器

热门文章

  1. 第2章 JavaScript语法
  2. 远程监视jboss应用java内存的配置(实测) .
  3. HDU_1242_Rescue
  4. 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
  5. jmeter插件之PerfMon
  6. php中 如何找到session 的保存位置
  7. HTML5 实现Link跳线效果
  8. P1223 排队接水
  9. sectional data interpolation in Tecplot
  10. Vue.Draggable实现拖拽效果(采坑小记)