java-IO流
一、IO流
关键对象:
File
InputStream
FileInputStream
File类:
定义:文件描述符
用户描述在磁盘上的一个文件,或者目录
File类构造器:
文件操作流:
输入/输出流概述:
输入流:从外部介质(磁盘、网络)-》内存
输出流:从内存-》外部介质(磁盘、网络)
缓冲操作重点:
读数据:
FileInputStream
FileReader
BufferedInputStream
BufferedReader
写数据:
FileOutputStream
FileWriter
BufferedOutStream
BuffereWriter
1 package lianxi.day04.io; 2 3 import java.io.*; 4 5 /** 6 * Created by ${lcj} on 2019/7/17 10:57 PM 7 */ 8 public class FileReaderDemo { 9 public static void main(String[] args) { 10 Reader reader = null; 11 try { 12 //1、文件描述 13 File file = new File("/lianxi/day/test.txt"); 14 //2、定义文件读取流 15 //使用BufferedReader 时,就这里不同 16 reader = new BufferedReader(new FileReader(file)); 17 // reader = new FileReader(file); 18 //3、文件读取 19 char[] buf = new char[6]; 20 //标准写法 21 int len = 0; 22 23 while ((len =reader.read(buf))!=-1){ 24 System.out.println("len:" + len); 25 String str = new String(buf , 0 ,len); 26 System.out.println(str); 27 } 28 //理解的读取过程 29 // while (len !=-1) 30 // { 31 // len = reader.read(buf); 32 // if (len != -1){ 33 // String str = new String(buf , 0 ,len); 34 // System.out.println(str); 35 // } 36 // } 37 38 }catch (FileNotFoundException fnfe){ 39 fnfe.printStackTrace(); 40 }catch (IOException ioo){ 41 ioo.printStackTrace(); 42 } 43 finally { 44 //4、关流 45 if (null !=reader){ 46 try { 47 reader.close(); 48 }catch (IOException e){ 49 e.printStackTrace(); 50 } 51 } 52 } 53 54 } 55 }