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){}
        }
    }
    }
    

      

  • 相关阅读:
    欧拉公式
    isap的一些想法
    错误合集
    Hello World
    PAT (Advanced Level) Practice 1068 Find More Coins
    PAT (Advanced Level) 1087 All Roads Lead to Rome
    PAT (Advanced Level) 1075 PAT Judge
    PAT (Advanced Level) 1067 Sort with Swap(0, i)
    PAT (Advanced Level) 1017 Queueing at Bank
    PAT (Advanced Level) 1025 PAT Ranking
  • 原文地址:https://www.cnblogs.com/ipetergo/p/7637028.html
Copyright © 2011-2022 走看看