zoukankan      html  css  js  c++  java
  • FileInputStream 的读取操作

    package xinhuiji_day07;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;

    public class TestFileInputStream {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
            
            // 1 ,先定义要操作的文件
            String str = File.separator;  //得到当前系统的盘符
            //String path = File.separator+"home"+File.separator+"han"+File.separator+"FileOutPutStream.txt";
            String path = str+"home"+str+"han"+str+"FileOutPutStream.txt";
            File file = new File(path);
            // 2,通过子类实例化父类
            InputStream in = null;
            in = new FileInputStream(file);
            
            //byte[] bytes = new byte[1024];//直接这样开辟空间的话,我们并不知道file的实际空间是多大,会造成占用大量内存的
                                           //的结果,我们可以通过File类先获得file的大小,再定义数组的大小
            
            byte[] bytes = new byte[(int) file.length()];  // 定义数组用于存储读到的数据
            
            // 3 读数据
            
            //第一种方法
    //        int len = in.read(bytes);
    //        System.out.println("向数组中写入的字符长度:"+len);
            
            //第二种方法
            for(int i = 0;i<file.length();i++){
                bytes[i] = (byte) in.read();
            }
            
            
            //第三种方法
            
    //        String info = new String(bytes,0,len);
            String info = new String(bytes);
            System.out.println(info);
            // 4 。关闭输入流
            in.close();
        }

    }
    /////////////////////////////////////////////////////////////////////////////

     //第三种方法      。前两种方法都是知道file的长度,如果不知到file的长度就应该使用read()方法

    byte[] bytes = new byte[1024];  
            int len = 0;//用于记录读到的字符个数
            
            int temp = 0;//用于记录in.read()的返回值
            //read()方法只有在读到文件末尾时返回值为-1
            while((temp = in.read()) != -1){
                bytes[len] = (byte) temp;
                len++;
            }

  • 相关阅读:
    Python学习札记(十五) 高级特性1 切片
    LeetCode Longest Substring Without Repeating Characters
    Python学习札记(十四) Function4 递归函数 & Hanoi Tower
    single number和变体
    tusen 刷题
    实验室网站
    leetcode 76. Minimum Window Substring
    leetcode 4. Median of Two Sorted Arrays
    leetcode 200. Number of Islands 、694 Number of Distinct Islands 、695. Max Area of Island 、130. Surrounded Regions 、434. Number of Islands II(lintcode) 并查集 、178. Graph Valid Tree(lintcode)
    刷题注意事项
  • 原文地址:https://www.cnblogs.com/siashan/p/3853381.html
Copyright © 2011-2022 走看看