如何将字节数组写入存在文件的一部分?

时间:2014-01-11 04:18:21

标签: java android io

请帮助我。我有一个文件(不是文本文件)。我读了一部分文件,然后将其转换为字节数组,我对数组做了一些事情。那么,我可以擦除文件的一部分并将自己的字节数组写入?

3 个答案:

答案 0 :(得分:1)

是的,你可以这样做,如果某些文件可能会损坏。在示例中,我只复制了真实文件中一半的字节,并将其写入一个新文件,该文件将部分图像写入文件。

public static void main(String[] args) throws IOException {
        File file = new File("D:\\Penguins.jpg");
        byte[] bFile = new byte[(int) file.length()];
        FileInputStream fileInputStream = new FileInputStream(file);
        fileInputStream.read(bFile);
        fileInputStream.close();

        byte[] newArray = Arrays.copyOf(bFile, (int) file.length() / 2);
        FileOutputStream out = new FileOutputStream("D:\\partialPenguins.jpg");
        out.write(newArray);
        out.close();
    }

答案 1 :(得分:0)

将其读入内存,转换,执行任何操作,组装整个文件,并将其写入磁盘,替换旧磁盘。

答案 2 :(得分:0)

您可以使用RandomAccessFile。将文件指针移动到所需位置并重写