zoukankan      html  css  js  c++  java
  • 文件读操作(IO编程)

    将文件中的数据读入程序,是将程序外部的数据传入程序中,应该使用输入流——InputStream或Reader。而由于读取的是特定的数据源——文件,则可以使用输入对应的子类FileInputStream或FileReader实现。

    读取文件是分两个步骤:1、将文件中的数据转换为流,2、读取流内部的数据。其中第一个步骤由系统完成,只需要创建对应的流对象即可,对象创建完成以后步骤1就完成了,第二个步骤使用输入流对象中的read方法即可实现了。

       使用输入流进行编程时,代码一般分为3个部分:1、创建流对象,2、读取流对象内部的数据,3、关闭流对象。下面以读取文件的代码示例:

    package test;
    
    import java.io.FileInputStream;
    
    public class ReadFile1 {
    public static void main(String[] args) {
    	 //声明流对象
        FileInputStream fis = null;                 
        try{
                 //创建流对象
                 fis = new FileInputStream("e:\a.txt");
                 //读取数据,并将读取到的数据存储到数组中
                 byte[] data = new byte[1024]; 
    //当前下标       
                 int i = 0; 
                 //读取流中的第一个字节数据
                 int n = fis.read();
                 //依次读取后续的数据
    //未到达流的末尾       
                 while(n != -1){
                          //将有效数据存储到数组中
                          data[i] = (byte)n;
                          //下标增加
                          i++;
                          //读取下一个字节的数据
                           n = fis.read();
                 }
                
                 //解析数据
                 String s = new String(data,0,i);
                 //输出字符串
                 System.out.println(s);
        }catch(Exception e){
                 e.printStackTrace();
        }finally{
                 try{
                          //关闭流,释放资源
                          fis.close();
                 }catch(Exception e){}
        }
    }
    }
    

      

    package test;
    
    import java.io.FileInputStream;
    //使用FileInputStream读取文件
    public class ReadFile2 {
    public static void main(String[] args) {
    	 //声明流对象
        FileInputStream fis = null;                 
        try{
                 //创建流对象
                 fis = new FileInputStream("e:\a.txt");
                 //读取数据,并将读取到的数据存储到数组中
                 byte[] data = new byte[1024]; //数据存储的数组
                 int i = fis.read(data);
                
                 //解析数据
                 String s = new String(data,0,i);
                 //输出字符串
                 System.out.println(s);
        }catch(Exception e){
                 e.printStackTrace();
        }finally{
                 try{
                          //关闭流,释放资源
                          fis.close();
                 }catch(Exception e){}
        }
    }
    }
    

      

  • 相关阅读:
    Day 13 匿名函数 :内置函数: 闭包
    Day 12 生成器:生成器表达式:列表表达式:yield:yield from:内置函数
    最近这些天
    正则表达式 I
    Python 软件规范开发
    模块
    常用模块介绍 time datetime os sys hashlib json pickle collections
    模拟博客园登录 基础版
    SQL 必知必会
    Python中的线程和进程
  • 原文地址:https://www.cnblogs.com/ipetergo/p/7637028.html
Copyright © 2011-2022 走看看