81、java的IO操作-FileInputStream
来源:互联网 发布:淘宝服装拍摄报价 编辑:程序博客网 时间:2024/06/05 06:13
一、FileInputStream的构造方法1、FileInputStream(File file)2、FileInputStream(String name)二、读取数据的方式: 1、int read():一次读取一个字节 2、int read(byte[] b):一次读取一个字节数组三、 字节输入流操作步骤: 1、创建字节输入流对象 2、调用read()方法读取数据,并把数据显示在控制台 3、释放资源注意:输入流读取数据的时候,文件必须存在,不然会抛出异常 java.io.FileNotFoundException: a.txt (系统找不到指定的文件。)四、案例/* * 一次读取一个字节:int read() * 返回值其实是实际读取的字节个数。 */public class FileInputStreamDemo {public static void main(String[] args) throws IOException {// FileInputStream(String name)// FileInputStream fis = new FileInputStream("fis.txt");FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java");// // 调用read()方法读取数据,并把数据显示在控制台// // 第一次读取// int by = fis.read();// System.out.println(by);// System.out.println((char) by);//// // 第二次读取// by = fis.read();// System.out.println(by);// System.out.println((char) by);//// // 第三次读取// by = fis.read();// System.out.println(by);// System.out.println((char) by);// // 我们发现代码的重复度很高,所以我们要用循环改进// // 而用循环,最麻烦的事情是如何控制循环判断条件呢?// // 第四次读取// by = fis.read();// System.out.println(by);// // 第五次读取// by = fis.read();// System.out.println(by);// //通过测试,我们知道如果你读取的数据是-1,就说明已经读取到文件的末尾了// 用循环改进// int by = fis.read();// while (by != -1) {// System.out.print((char) by);// by = fis.read();// }// 最终版代码int by = 0;// 读取,赋值,判断while ((by = fis.read()) != -1) {System.out.print((char) by);}// 释放资源fis.close();}}/* * 一次读取一个字节数组:int read(byte[] b) * 返回值其实是实际读取的字节个数。 */public class FileInputStreamDemo2 {public static void main(String[] args) throws IOException {// 创建字节输入流对象// FileInputStream fis = new FileInputStream("fis2.txt");FileInputStream fis = new FileInputStream("FileOutputStreamDemo.java");// 读取数据// 定义一个字节数组// 第一次读取// byte[] bys = new byte[5];// int len = fis.read(bys);// // System.out.println(len);// // System.out.println(new String(bys));// // System.out.println(new String(bys, 0, len));// System.out.print(new String(bys, 0, len));//// // 第二次读取// len = fis.read(bys);// // System.out.println(len);// // System.out.println(new String(bys));// // System.out.println(new String(bys, 0, len));// System.out.print(new String(bys, 0, len));//// // 第三次读取// len = fis.read(bys);// // System.out.println(len);// // System.out.println(new String(bys));// // System.out.println(new String(bys, 0, len));// System.out.print(new String(bys, 0, len));//// // 第四次读取// len = fis.read(bys);// // System.out.println(len);// // System.out.println(new String(bys, 0, len));// System.out.print(new String(bys, 0, len));// // 代码重复了,用循环改进// // 但是,我不知道结束条件// // len = fis.read(bys);// // System.out.println(len);// // len = fis.read(bys);// // System.out.println(len);// // 如果读取到的实际长度是-1,就说明没有数据了// byte[] bys = new byte[115]; // 0// int len = 0;// while ((len = fis.read(bys)) != -1) {// System.out.print(new String(bys, 0, len));// }// 最终版代码// 数组的长度一般是1024或者1024的整数倍byte[] bys = new byte[1024];int len = 0;while ((len = fis.read(bys)) != -1) {System.out.print(new String(bys, 0, len));}// 释放资源fis.close();}}
阅读全文
0 0
- 81、java的IO操作-FileInputStream
- Java的IO流--FileInputStream和FileOutputStream
- 【java学习】IO FileInputstream
- Java IO - FileInputStream&FileOutputStream
- java io -- FileInputStream
- Java的IO操作(一) - File类,RandomAccessFile类,FileInputStream、FileOutputStream类
- Java的IO操作(一) – File类,RandomAccessFile类,FileInputStream、FileOutputStream类
- java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
- java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
- 01 IO流操作- FileInputStream
- Java IO(三) 之 FileInputStream
- Java IO——FileInputStream
- 13.Java IO: FileInputStream & FileOutputStream
- Java IO(四):FileInputStream
- Java IO FileInputStream和FileOutputStream
- 【Java】【IO】FileInputStream read 简介
- Java IO之FileInputStream&FileOutputStream
- Java入门IO流--FileInputStream
- LINTCODE——删除二叉查找树的节点
- spark RDD action job的提交过程之 taskSchedule
- webpack -- 入门
- 测试数据生成——树
- 人工智能(三)上——通过搜索进行问题求解(有信息搜索策略)
- 81、java的IO操作-FileInputStream
- springboot(九):定时任务
- OpenGL粒子系统详解及编程实现
- ios开发AudioUnit的录制与播放功能,双工模式下的回音抑制以及降噪
- Maven项目的导入
- FM算法详解
- Linux 服务器性能出问题,排查下这些参数指标
- 限额10位 | 成为鹿晗背后的男人,4个月搞定高薪Linux运维工程师
- 使用DatatTable插件實現分頁功能