一、IO输入输出:
输入:硬盘到内存(Read / Input / InputStream)
输出:内存到硬盘(Write / Output / OutputStream)
二、IO流分类四大家族:
三、FileInputStream 文件字节流
1、文件字节输入流,万能的,任何类型的文件都可以采用这个流来读。字节的方式,完成输入read的操作,(硬盘---> 内存)
2、读到文件的末尾,再读的时候读取不到任何数据,会返回-1.
3、IDEA默认的当前路径是:工程Project的根 src 就是IDEA的默认当前路径。
4、 文件路径:D:\course\JavaProjects\02-JavaSE\temp (IDEA会自动把\编程\\,因为java中\表示转义)
import java.io.FileNotFoundException; import java.io.IOException; /* 读取文件:tempfile3 文件里面的内容 文件内容:abcdef */ public class FileInputStreamTest04 { public static void main(String[] args) { FileInputStream fis = null; try { fis = new FileInputStream("chapter23/src/tempfile3"); // 准备一个byte数组 byte[] bytes = new byte[4]; // while 循环读取数据,下标从零开始读取,读到-1,表示没有数据 // 将字节数组全部转换成字符串 //System.out.println(new String(bytes,0,readCount)); // 读取了多少个字节,转换多少个字节 int readCount = 0; while((readCount = fis.read(bytes)) != -1) { System.out.print(new String(bytes, 0, readCount)); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { e.printStackTrace(); } } } } }