流的原理
1) 在 Java 程序中,对于数据的输入/输出操作以“流”
(stream) 方式进行;
2) J2SDK 提供了各种各样的“流”类,用以获取不同种类的
数据;程序中通过标准的方法输入或输出数据。
3) Java 的流类型一般位于 java.io 包中
IO流基本概念:----->https://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html
文件字节流
FileInputStream/FileOutputStream
使用 FileInputStream 读取文件内容
1) abstract int read( ); //一次读取一个字节,读到文件末尾为-1
2) int read( byte b[ ] ); //从该输入流读取最多 b.length个字节的数据为字节数组。
3) int read( byte b[ ], int off, int len );
4) int available( ); //估算文件字节数
5) close( ); //关闭文件输入流
FileInputStream fis=new FileInputStream(new File("D:\\test.txt")); //在此之前"D:\\test.txt"不存在则new File(path)
如果"D:\\test.txt"已经存在,则不需new,直接FileInputStream fis=new FileInputStream("D:\\test.txt");即可
1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileNotFoundException; 4 import java.io.IOException; 5 6 public class TestInpuStream { 7 public static void main(String[] args) throws IOException { 8 //(1)数据源与应用程序之间搭建管道 9 FileInputStream fis=new FileInputStream(new File("D:\\test.txt")); 10 //(2)从数据源开始向程序中读数据 11 int count=fis.available(); 12 System.out.println("文件中大概有"+count+"个字节"); 13 14 //中转站比较小,一次读一个字节 15 //System.out.println(fis.read()); //读取一个字节 16 //System.out.println(fis.available()); //文件中还有多少字节未读取 17 18 int buf=0;//存储读到的字节 19 int i=0; 20 while((buf=fis.read())!=-1){ 21 i++; 22 System.out.print((char)buf); 23 } 24 //(3)关闭 25 fis.close(); 26 System.out.println(i); 27 } 28 }