В настоящее время я работаю над проектом, и мы разделили его на модули, в одном из них у нас есть файл (. exe). Я решил открыть его в двоичном формате и прочитать его содержимое, изменить их. Но я не должен изменять изменения и сохранять их в одном файле. Когда я пытаюсь это сделать, он говорит 0KB. Он отлично работает при использовании двух файлов.Как прочитать бинарный файл, изменить тот же файл и сохранить файл с изменениями? (JAVA)
Вот исходный код:
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();
Заранее спасибо :)
Check [java.io.RandomAccessFile] (http://docs.oracle.com/javase/7/docs/api/java/io/RandomAccessFile.html ? is-external = true) – Robert
Arg, я забыл о файле произвольного доступа. Наверное, ты получил свой ответ. – GhostCat
@Robert, я посмотрю, спасибо –