疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java IO - 字符流


 

  需要读取的目标文件:

  // 目标文件

  String pathName = "d:/z.txt";

  File file = new File(pathName);

  使用FileReader类读取文本:

  // 使用FileReader读取文件

  String str = null;

  FileReader fileReader = new FileReader(file);

  while ((str = fileReader .readLine()) != null) {

  System.out.println(str);

  }

  //关闭输入流

  fileReader.close();

  使用LineNumberReader类读取文件可以方便的获取“行号”,或者进行其他有关行号的操作:

  // 读取文件

  FileReader fileReader = new FileReader(file);

  LineNumberReader lineReader= new LineNumberReader(fileReader);

  String str = null;

  while ((str = lineReader.readLine()) != null) {

  //获得行号:lineReader.getLineNumber()

  System.out.println(lineReader.getLineNumber() + ":" + str);

  }

  lineReader.close();

  fileReader.close();

  以上是两种以读取字符流的方式,使用系统默认的字符编码标准来读取文本下面使用字节流,以指定的字符编码读取文本:

  // 获得文件输入流

  BufferedInputStream ins = new BufferedInputStream(new FileInputStream(file));

  // 将文件输入流对象按照指定的UTF-8标准解码,构造一个InputStreamReader对象。

  InputStreamReader inReader = new InputStreamReader(ins,"UTF-8");

  //使用BufferedReader按行读取内容

  BufferedReader bufferedReader = new BufferedReader(inReader);

  str = null;

  while ((str = bufferedReader.readLine()) != null) {

  System.out.println(str);

  }

  //关闭输入流

  bufferedReader.close();

  bufferedReader = null;