zoukankan      html  css  js  c++  java
  • io流读取文件的几种方式:

    io流读取文件的几种方式:大致可以分为两种一个是按照字节读取文件,多数用于读取文本类文件,一种是按照字节读取文件多数用来读取音视频文件,当然也可以用来度写文本类型的文件

    下面就是测试完整代码:测试文件需要自己放置和更改

    package test;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * @author dayu
     * @version 创建时间:2018年1月19日 上午10:13:54
     *          测试io读取文件的几种方式
     */
    public class ReadFile
    {
        public static void main(String[] args)
        {
            //文件位置
            String filepath = "D:\d.txt";
            
            /** 一次读取所有内容 */
            FileInputStreamReadFile(filepath);
            System.out.println("=====================");
            
            /** 以行为单位读取文件,常用于读面向行的格式化文件 */
            BufferedReaderReadFile(filepath);
            System.out.println("=====================");
            
            /** 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */
            ReadFileByByte(filepath);
            System.out.println("
    =====================");
            
            /** 以行为单位读取文件,常用于读面向行的格式化文件 */
            InputSteamReaderReadFile(filepath);
            System.out.println("
    =====================");
            
        }
        
        private static void InputSteamReaderReadFile(String filepath)
        {
            try
            {
                InputStreamReader sr = new InputStreamReader(new FileInputStream(new File(filepath)));
                int temp = 0;
                while ((temp = sr.read()) != -1)
                {
                    System.out.print((char)temp);
                }
                sr.close();
            }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        
        private static void ReadFileByByte(String filepath)
        {
            try
            {
                File file = new File(filepath);
                FileInputStream fis = new FileInputStream(file);
                
                int b = 0;
                while ((b = fis.read()) != -1)
                {
                    System.out.print((char)b);
                }
                fis.close();
            }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        
        private static void BufferedReaderReadFile(String filepath)
        {
            try
            {
                StringBuffer sb = new StringBuffer();
                BufferedReader br = new BufferedReader(new FileReader(new File(filepath)));
                String readLine = "";
                while ((readLine = br.readLine()) != null)
                {
                    sb.append(readLine + "
    ");
                }
                br.close();
                System.out.print(sb.toString());
            }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        
        private static void FileInputStreamReadFile(String filepath)
        {
            try
            {
                File file = new File(filepath);
                FileInputStream fis = new FileInputStream(file);
                
                long filelength = file.length();
                byte[] bb = new byte[(int)filelength];
                
                fis.read(bb);
                fis.close();
                System.out.println(new String(bb));
            }
            catch (FileNotFoundException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    Zend框架2入门(二) (转)
    Zend框架2入门(一) (转)
    PHP Strict standards:Declaration of … should be compatible with that of…(转)
    ::符号
    mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法(转)
    php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法(转)
    PHP5.4新特性(转)
    PHP5.4的变化关注---What has changed in PHP 5.4.x(转)
    关于PHP的curl开启问题 (转)
    安装apache重启的时候,报错端口被占用,错误1
  • 原文地址:https://www.cnblogs.com/dayu007/p/8315821.html
Copyright © 2011-2022 走看看