IO流之文件读取
IO流之文件读取
法一:单个字节读取
package com.io.reader; import java.io.FileReader; import java.io.IOException; public class FileReader_ { public static void main(String[] args) { String filePath="d:\\story.txt"; FileReader fileReader=null; int data=0; //1.创建一个FileReader try { fileReader=new FileReader(filePath); //循环读取 使用reader,当个字符读取 while ((data= fileReader.read())!=-1){ System.out.print((char) data); } } catch (IOException e) { e.printStackTrace(); } finally { if (fileReader!=null){ try { fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
法二:使用字符数组来读取文件
package com.io.reader; import org.junit.jupiter.api.Test; import java.io.FileReader; import java.io.IOException; public class FileReader_ { public static void main(String[] args) { } @Test /** *使用字符数组来读取文件 */ public void readFile02() { String filePath = "d:\\story.txt"; FileReader fileReader = null; int readLen = 0; char[] buf = new char[8]; //1.创建一个FileReader try { fileReader = new FileReader(filePath); //循环读取 使用read(buf),返回的是实际读取到的字符数 //入股返回-1,则说明读到了文件末尾 while ((readLen = fileReader.read(buf)) != -1) { System.out.print(new String(buf, 0, readLen)); } } catch (IOException e) { e.printStackTrace(); } finally { if (fileReader != null) { try { fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }