成都网站建设设计

将想法与焦点和您一起共享

InputStream--使用详解

本篇可以号称是市面最全面的InputStream的用法详解,如下所示

目前创新互联已为上1000+的企业提供了网站建设、域名、网站空间、网站托管维护、企业网站设计、南关网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

在java中InputStream是字节输入流,用来将文件中的数据读取到java程序中。
InputStream是所有字节输入流的顶层父类,是一个抽象类。如果要用,需要使用子类。

最常用的子类:FileInputStream。

构造方法:
FileInputStream​(File file): 传递一个File类型的文件
FileInputStream​(String name): 传递一个String类型的文件路径

其他方法:
int read​(): 从文件中读取一个字节数的数据。并返回读取到的这个字节。 如果读取结束,返回的是-1.
int read​(byte[] b): 一次读取一个字节数组,输入流会把读取到的内容放入到这个字节数组中,并返回读取到的个数, 如果读取结束返回-1.
void close​()

使用步骤:
1. 创建一个FileInputStream流对象,绑定一个数据源文件。
2. 调用read方法读取数据。
3. 释放资源

注意: 这种方式不能读取中文,一个中文占多个字节,此时一次读取一个字节会把中文拆开读。
*/

public class Demo01InputStream {
    public static void main(String[] args) throws IOException {
        //创建一个FileinputStream对象,并绑定一个数据源文件
        // 如果文件不存在,则会抛出异常(File not fount excep)
        FileInputStream fis = new FileInputStream("E:\\test\\java265.txt");
        //调用read方法读取数据
        // int read​(): 从文件中读取一个字节数的数据。并返回读取到的这个字节。 如果读取结束,返回的是-1.
        int i;
        while ((i = fis.read()) != -1) {
           /*
                条件做了下面的事情
                1. 通过fis输入流调用read方法,读取一个字节。
                2. 把读取到的这个字节赋值给变量i。
                3. 判断i是否不等于-1,如果不是-1表示读取到了内容,就在循环中对读取到的内容进行处理。
                读取到的内容在i里面保存*/
            System.out.print((char) i);


        }
        //释放资源demo02_inputsteam

    }
}

网页名称:InputStream--使用详解
网址分享:http://chengdu.cdxwcx.cn/article/dsoioeo.html