当前位置: 首页 > 教程 > Java IO流 >

Java FileInputStream

精华
小牛编辑
176浏览
2023-03-14

1 什么是Java FileInputStream

Java FileInputStream类从文件获取输入字节。它用于读取面向字节的数据(原始字节流),例如图像数据,音频,视频等。您还可以读取字符流数据。但是,为了读取字符流,建议使用FileReader类。

2 Java FileInputStream的语法

public class FileInputStream extends InputStream  

3 Java FileInputStream的方法

方法 描述
int available() 用于返回可以从输入流读取的估计字节数。
int read() 用于从输入流中读取数据字节。
int read(byte[] b) 用于从输入流中读取最多b.length个数据字节。
int read(byte[] b, int off, int len) 用于从输入流中读取最多len字节的数据。
long skip(long x) 用于跳过并丢弃输入流中的x字节数据。
FileChannel getChannel() 用于返回与文件输入流关联的唯一FileChannel对象。
FileDescriptor getFD() 用于返回FileDescriptor对象。
protected void finalize() 用于确保在没有更多对文件输入流的引用时调用close方法。
void close() 用于关闭流。
void mark(int readlimit) 此方法标记此输入流中的当前位置。
boolean markSupported() 此方法测试此输入流是否支持mark和reset方法。
void reset() 该方法将该流重新定位到在此输入流上最后调用mark方法的位置。

4 Java FileInputStream例子:读取一个字符

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java FileInputStream的例子
 */
import java.io.FileInputStream;

public class Demo {

    public static void main(String args[]){
        try{
            FileInputStream fin=new FileInputStream("D:\\xnip\\test.txt");
            int i=fin.read();
            System.out.print((char)i);

            fin.close();
        }catch(Exception e){
            System.out.println(e);
        }
    }
}

注意:在运行代码之前,需要创建一个名为"test.txt"的文本文件。内容如下:

Welcome to xnip.

执行完上述程序后,您将从文件中获得一个字符,该字符为87(字节形式)。要查看文本,您需要将其转换为字符。

W

5 Java FileInputStream例子:读取所有字符

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java FileInputStream的例子
 */
import java.io.FileInputStream;

public class Demo {

    public static void main(String args[]){
        try{
            FileInputStream fin=new FileInputStream("D:\\xnip\\test.txt");
            int i=0;
            while((i=fin.read())!=-1){
                System.out.print((char)i);
            }
            fin.close();
        }catch(Exception e){
            System.out.println(e);
        }
    }
}

输出结果为:

Welcome to xnip.