二级Java考试辅导教程:4.7字符流的处理[2]

文章作者 100test 发表时间 2007:03:10 18:44:00
来源 100Test.Com百考试题网


获取当前编码方式
  public String getEncoding().

  关闭流
  public void close() throws IOException.

  4.7.3 BufferedReader和BufferedWriter

  生成流对象

  public BufferedReader(Reader in). //使用缺省的缓冲区大小
  public BufferedReader(Reader in, int sz). //sz为缓冲区的大小
  public BufferedWriter(Writer out).
  public BufferedWriter(Writer out, int sz).

  读入/写出字符

  除了Reader和Writer中提供的基本的读写方法外,增加对整行字符的处理。
  public String readLine() throws IOException. //读一行字符
  public void newLine() throws IOException. //写一行字符来源:www.examda.com

  【例4-4】

  import java.io.*.
  public class NumberInput{
   public static void main(String args[]){
    try{
      InputStreamReader ir.
      BufferedReader in.
      ir=new InputStreamReader(System.in).
      //从键盘接收了一个字符串的输入,并创建了一个字符输入流的对象
      in=new BufferedReader(ir).
      String s=in.readLine().
      //从输入流in中读入一行,并将读取的值赋值给字符串变量s
      System.out.println("Input value is: " s).
      int i = Integer.parseInt(s).//转换成int型
      i*=2.
      System.out.println("Input value changed after doubled: " i).
    }catch(IOException e)
    {System.out.println(e).}
   }
  }

    运行结果

  D:\>java NumberInput
  123
  Input value is 123
  Input value changed after doubled: 246

  注意:在读取字符流时,如果不是来自于本地的,比如说来自于网络上某处的与本地编码方式不同的机器,那么我们在构造输入流时就不能简单地使用本地缺省的编码方式,否则读出的字符就不正确;为了正确地读出异种机上的字符,我们应该使用下述方式构造输入流对象:
  
    ir = new InputStreamReader(is, "8859_1").

  采用ISO 8859_1编码方式,这是一种映射到ASCII码的编码方式,可以在不同平台之间正确转换字符。



相关文章


二级Java考试辅导教程:5.1用AWT生成图形化用户界面[3]
二级Java考试辅导教程:5.1用AWT生成图形化用户界面[2]
二级Java考试辅导教程:5.1用AWT生成图形化用户界面[1]
二级Java考试辅导教程:4.8对象的串行化(Serialization)
二级Java考试辅导教程:4.7字符流的处理[2]
二级Java考试辅导教程:4.6过滤流
二级Java考试辅导教程:4.7字符流的处理[1]
二级Java考试辅导教程:4.4I_O流概述
二级Java考试辅导教程:4.5文件处理
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛