java字节输入流【FileInputSream】
FileInputSream==》输入流一般使用这个子类
【父类】InputStream【字节输入流】类常用方法==》抽象类
int read();
把数据源中的东西一个字节一个字节的读出来,返回值int
如果到了输入流的末尾返回一个-1
int read(byte[] b);
从输入流读取若干字节,把这些字节保存到数组中去,返回的是读取到的字节数
如果到了输入流的末尾返回一个-1
int read(byte[] b,int off,int len)
从输入流读取若干字节,把这些字节保存到数组中去,返回的是读取到的字节数
如果到了输入流的末尾返回一个-1
off指的是开始位置保存数据开始的下标,len指读取到的字节数
void colse();
就是关闭流;
int available();
可以从输入流中读取的字节数目
子类FileInputStream常用的构造方法
FileInputStream(File file)
FileInputStream(String name)
【输入流,就是把文本文档中的内容读到程序中】
使用相关步骤:
引入相关类
+
构造文件输入流
FileInputSream对象
+
读取文本文件的数据
+
关闭文件流对象
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; //读取文件中的内容 public class Demo8 { private static void show(){ FileInputStream file = null; try { //输入流FileInputSream file=new FileInputStream("D:\\javatest//1.txt"); System.out.println("可以读取到的字节数"+file.available()); //借助输入流的方法去读文件 // int data; // while ((data=file.read())!=-1){ // //因为文本里面是字符,所以要加上char进行强转,否则只会输出一串数字 // System.out.print((char) data); // } byte[] bytes=new byte[1024]; int data; while ((data=file.read(bytes))!=-1){ //为什么?i不是小于bytes.length而是小于data, //因为用数组会打印零 for (int i = 0; i <data ; i++) { System.out.print(bytes[i]); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { file.close(); //关流 } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { show(); } }
浙公网安备 33010602011771号