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

Java 如何将字节数组写入exist文件的一部分?,java,android,io,Java,Android,Io,请帮我这个。我有一个文件(不是文本文件)。我读取文件的一部分,然后将其转换为字节数组,并对数组进行处理。因此,我可以擦除文件的一部分并将自己的字节数组写入吗?将其读入内存,转换,做任何你想做的事情,组装一个完整的文件,并将其完整性写入磁盘,替换旧文件。你可以使用RandomAccessFile。将文件指针移动到所需位置并重写是的,您可以这样做,前提是某些文件可能会损坏。在这个示例中,我只复制了真实文件中的一半字节,并将其写入一个新文件,从而将部分图像写入该文件 public static voi

请帮我这个。我有一个文件(不是文本文件)。我读取文件的一部分,然后将其转换为字节数组,并对数组进行处理。因此,我可以擦除文件的一部分并将自己的字节数组写入吗?

将其读入内存,转换,做任何你想做的事情,组装一个完整的文件,并将其完整性写入磁盘,替换旧文件。

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

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

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();
    }