需要读取的目标文件:
// 目标文件 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;