Ejercicio
Cifrar un archivo BMP
Objetivo
Cree un programa para cifrar / descifrar un archivo de imagen BMP, cambiando la marca "BM" en los dos primeros bytes con MB y viceversa.
Utilice el constructor avanzado FileStream para permitir la lectura y escritura simultáneas.
Código de Ejemplo
package Bmp;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
FileStream myFile;
System.out.print("Enter the name of file: ");
String fileName = new Scanner(System.in).nextLine();
if (!(new java.io.File(fileName)).isFile())
{
System.out.println("The file not exists!!!");
return;
}
try
{
myFile = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite);
byte b1 = (byte)myFile.ReadByte();
byte b2 = (byte)myFile.ReadByte();
if (((char)b1 != 'B') || ((char)b2 != 'M'))
{
System.out.println("This File is NOT a BMP file");
}
else
{
myFile.Seek(0, SeekOrigin.Begin);
myFile.WriteByte((byte)'M');
myFile.WriteByte((byte)'B');
}
myFile.Close();
}
catch (RuntimeException e)
{
System.out.printf("Error: %1$s!!!" + "\r\n", e.message());
}
}
}