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();
            }
        }
    }
  • 相关阅读:
    Kubernetes-Pod的扩、缩容以及滚动升级
    从一个例子开始认识Kubernetes
    Kubernetes的基本术语和概念
    一分钟看懂Docker的网络模式和跨主机通信
    监控神器:Premotheus+Grafana安装
    Linux不同服务器之间copy文件
    Oracle 存储情况查询
    Kubernetes v1.10 快速安装(只需三步)
    django 搭建一个投票类网站(二)
    django 搭建一个投票类网站(一)
  • 原文地址:https://www.cnblogs.com/dayu007/p/8315821.html
Copyright © 2011-2022 走看看