A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 途中ms前进 中级黑马   /  2015-5-27 18:58  /  313 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1,明确源和目的  源--输入流:InputStream Reder  目的—-输出流OutputStream  Writer
2,操作数据是否是纯文本  是——字符流   不是——字节流
3,当体系明确后再明确要使用那个具体对象通过设备来进行区分
源设备——内存 硬盘  键盘      目的设备——内存  硬盘  控制台
————字节流和字符流之间的转换是通过InputStreamReader   和OutputStreamWriter来完成的
InputStreamReader:字节流通向字符流的桥梁
OutputStreamWriter:字符流通向字节流的桥梁

练习一: 从键盘接受一个数字,列出该数字的中文表示格式,
例如:键盘输入123,打印出一二三;键盘输入3103,打印出三一零三。

import java.io.*;
public class Test1 {
public static void main(String[] args){
  method();
}
public static void method()
{//定义两个引用
BufferedReader bufr=null;
BufferedWriter bufw=null;
try{//创建键盘输入流
  bufr=new BufferedReader(new InputStreamReader(System.in));
  bufw=new BufferedWriter(new OutputStreamWriter(System.out));
  //用查表法创建字符数组
  char[] buf={'零','一','二','三','四','五','六','七','八','九'};
  
  String line=null;
  while((line=bufr.readLine())!=null)
  {//定义结束标记
   if("over".equals(line))
   break;
   //将读到的字符串转成字符数组
   char[] chs=line.toCharArray();
   //高级for循环遍历数组
  for(char cha:chs)
   {//将字符数组转成字符串再将字符串转成基本数据类型
  int index=Integer.parseInt(new String(new char[]{cha}));
  //查找并写出去
  bufw.write(buf[index]);
  
  bufw.flush();
  
   }
  //换行
  System.out.println();
  
  
  }
}
  
catch(Exception e)
{
  throw new RuntimeException("出现非法字符");
  
  
}
finally{
  
  try{if(bufr!=null)
   //关闭输入流
   bufr.close();
   
  }
  catch(Exception e)
  {
   
   throw new RuntimeException("读取失败");
  }
  try{
   if(bufw!=null)
    //关闭输出流
   bufw.close();
   
  }
  catch(Exception e)
  {
   
   throw new RuntimeException("写入失败");
  }
}

}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马