gpt4 book ai didi

java - 如何读取二进制文件、修改同一文件并保存修改后的文件?

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:58 28 4
gpt4 key购买 nike

我目前正在开发一个项目,我们已将其划分为多个模块,其中一个模块有一个文件( .exe )扩展名。我决定以二进制格式打开它并读取它的内容,修改它们。但是,我不会修改更改并将其保存在同一个文件中。当我尝试这样做时,它显示 0KB。使用两个文件时它工作得很好。

这是源代码:

public static void main(String[] args) {

String strSourceFile="E:/e.exe";
String strDestinationFile="E:/f.exe";
try
{
FileInputStream fin = new FileInputStream(strSourceFile);

FileOutputStream fout = new FileOutputStream(strDestinationFile);

byte[] b = new byte[1];
int noOfBytes = 0;

System.out.println("Copying file using streams");

while( (noOfBytes = fin.read(b)) != -1 )
{
fout.write(b, 0, noOfBytes);
}
System.out.println("File copied!");

//close the streams
fin.close();
fout.close();

最佳答案

使用 RandomAccessFile 或者您也可以创建一个新文件,将更改保存并删除原始文件。删除原始文件后,将这个新文件重命名为原始文件。

关于java - 如何读取二进制文件、修改同一文件并保存修改后的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349174/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com