请帮助我。我有一个文件(不是文本文件)。我读了一部分文件,然后将其转换为字节数组,我对数组做了一些事情。那么,我可以擦除文件的一部分并将自己的字节数组写入?
答案 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。将文件指针移动到所需位置并重写