有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 2 楼答案

    FileInputStream确实保存了您的位置

    如果您有一个包含3个字节的文件,0xff 0x00 0x0c,则调用:

    System.out.println(fis.read());
    System.out.println(fis.read());
    System.out.println(fis.read());
    

    将输出:

    255
    0
    12
    
  2. # 3 楼答案

    你只是想模仿@WhiteFang的写作解决方案

    FileInputStream fis = new FileInputStream(files[0]);
    DataInputStream dis = new DataInputStream(new BufferedInputStream(fis));
    int numFiles = dis.readInt();
    int numBytesInName = dis.readInt();
    String filename = dis.readUTF();
    long numBytesInFile = dis.readLong();
    // loop to read bytes into a byte[]
    

    顺便说一句,使用writeUTF/readUTF会使写入文件名的长度变得多余。此外,如果您不打算在此信息之后写入任何内容,则不需要记录文件数