大家好,又见面了,我是你们的朋友全栈君。
使用FileInputStream 读取本地文件(图片、视频、音乐、文档资料) 二进制文件、文本文件 1.在物理存储上上没有什么区别,存在硬盘上都是以二进制方式存储 2.解释数据的逻辑不同,程序读取文本文件,可以以字符方式读取,也可以以字节读取,将读取的数据解释为ASCII或者unicode编码;当程序读取二进制文件,以字节方式读取,对读取数据的解释由读取数据而定 ,如读取图片时,需要了解文件的结构,并解释读取的数据,如果不了解图片文件的结构,读取图片文件会失败,图片就会失败。
Java提供的FileInputStream类适合读取二进制文件,而不太适合读取文本文件,若读取文本文件,需要做相应的处理,否则会出现乱码。 乱码原因是FileInputStream类是每次读取一个字节,而中文字符是2个字节表示。 在Java语言中,中文和英文默认被处理为unicode编码 ,即2个字节表示一个字符 用法: 1.File nl=new File(本地路径) FileInputStream isinput=new FileInputStream(nl) isinput.read(); 2. FileInputStream isinput=new FileInputStream(本地路径) FileInputStream一般用来读取二进制文件,如果要读取文本文件,建议使用FileInputStream的read(byte[] b)方法读取整个文本文件,并将读取文件后的byte数组转换为字符串类型。用循环语句读取文件时,必须设定中止循环条件,一般以读取到文件尾部为中止条件。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140885.html原文链接:https://javaforall.cn