I/O流读取文件内容,字节流读取字符

来源:互联网 发布:java实现序列化的代码 编辑:程序博客网 时间:2024/05/13 01:30
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Arrays;/** * 读取文件内容 *  * @author jiaxutianhuo * */public class A {public static void main(String[] args) {// TODO Auto-generated method stub// InputStream是父类,FileInputStream是子类try {// 从文件地址中,读取内容到程序中。InputStream is = new FileInputStream("F:\\IOtest\\ddt1.txt");// 磁盘路径的两种表现方式,1.用\\ 2.用/// FileInputStream("F:/IOtest/ddt1.txt");// 定义一个字节数组存储数据byte[] b = new byte[5];// available是从输入流中读取的字节数目,就是文件的大小,长度。// while(is.available()==0);当网络不好,网页一直无法加载的时候,读取不到内容,一直循环。byte[] a = new byte[is.available()];// 声明一个int存储每次读取到的数据int i = 0;// 定义一个记录索引的变量int index = 0;// read(b)返回读取的文件大小,是一次性将文件中的数据全部读取出来。// 最大不超过b.length,返回实际读取的字节数。// 最后将字节转化成m字符串is.read(b);while ((i = is.read()) != -1) {// read()是一个一个读取文件中的数据b[index] = (byte) i;index++;}// int off = 0;// int i;// // read(b)返回读取的文件大小// // 最大不超过b.length,返回实际读取字节数。//字节数组中的保存位置从off开始// while ((i = is.read(b, off, 2)) != -1) {// // b的长度应该设置长一些,否则会抛出异常。// off += 2;// System.out.println("i=" + i);// System.out.println("off=" + off);// }// System.out.println(Arrays.toString(b));// 字节数组转成字符串。System.out.println(new String(b));// 关闭流is.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch block// 文件没有找到,抛出异常。e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

原创粉丝点击