• java读取文件:二进制文件


    FileWriter只能接受字符串形式的参数,也就是说只能把内容存到文本文件。相对于文本文
    件,采用二进制格式的文件存储更省空间

    InputStream用于按字节从输入流读取数据。其中的int read()方法读取一个字节,这个字节
    以整数形式返回0到255之间的一个值。为什么读一个字节,而不直接返回一个byte类型的值?
    因为byte类型最高位是符号位,它所能表示的最大的正整数是127。

    InputStream只是一个抽象类,不能实例化。FilelnputStream是InputStream的子类,用于从
    文件中按字节读取。

    public static void main(String[] args) throws IOException {
      String filePath = "d:/test.txt";
      File file = new File (filePath); //根据文件路径创建一个文件对象
      //如果找不到文件,会抛出FileNotFoundException异常
      FilelnputStream filelnput = new FilelnputStream(file);
    }
      filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常

    OutputStream中的write(int b)方法用于按字节写出数据。FileOutputStream用于按字节把数
    据写到文件。例如,按字节把内容从一个文件读出来,并写入另外一个新文件,也就是文件复
    制功能。

    File fileln = new File ("source. txt"); //打开源文件
    File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件
    FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流
    FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流
    int c;
    //从源文件中按字节读入数据,如果内容还没读完,则继续
    while ((c = streamln.read()) != -1) {
    streamOut .write (c); //写入目标文件
    }
    streamln.close。; //关闭输入流
    streamOut.close(); //关闭输出流

    判断文件是否已经存在,如果不存在则生成这个文件。

    File dataFile = new File(dicDir + dataDic);
    if (!dataFile.exists()) {
    //如果文件不存在则写入文件
    }

    用File.mkdirs()方法可以创建多级目录。例如,当一个目录不存在时,就创建它。

    File tempDir = new File(imgPath);
    if(!tempDir.exists()){
    tempDir.mkdirs();
    }
  • 相关阅读:
    [COGS2580]偏序 II
    [COGS2479]偏序
    [BZOJ2716]天使玩偶
    [BZOJ4237]稻草人/[JOISC2014]かかし
    Ynoi2015 世上最幸福的女孩
    ARC098D Donation
    BZOJ3691 游行
    CF923E Perpetual Subtraction
    Luogu P4191 [CTSC2010]性能优化
    Topcoder SRM 590 Fox And City
  • 原文地址:https://www.cnblogs.com/Michael2397/p/7824768.html
Copyright © 2020-2023  润新知