JustPaste.it

package läs.skriv.binary;
import java.io.*;

public class ReadAndWrite {


//Läser in antal bytes ifrån en fil
static byte[] läsFil(String namnPåFil){
File fil = new File(namnPåFil);
byte[] byteMängd = new byte[(int)fil.length()];
System.out.println("Storlek på Fil: " + fil.length());

try {
InputStream input = null;
try{

int byteLästa = 0;
//Utnyttjar buffradInputStream
input = new BufferedInputStream(new FileInputStream(fil));
//While loop för att försäkra alla bytes läs in, loopen iterar i flesta fall en gång
//men i vissa fall kan den iterera flera ggr.
while(byteLästa<byteMängd.length){

int återståendeBytes = byteMängd.length - byteLästa;
//input.read matar in alla bytes mellan bytesLästa och återståendebytes, den returnerar -1
//när den har nått slutet av filen
int inläsningBytes = input.read(byteMängd, byteLästa, återståendeBytes);
if (inläsningBytes > 0){
byteLästa = byteLästa + inläsningBytes;
}
}

}

finally {
input.close();
}

}
catch (FileNotFoundException ex){
System.out.println("Fil ej funnen");
}
catch (IOException ex){
System.out.println(ex);
}
return byteMängd;
}

static void skrivBytes(byte[] bArray, String filNamn){
try {
OutputStream output = null;
try {
output = new BufferedOutputStream(new FileOutputStream(filNamn));
//Skriver ut bytes Arrayen i filen
output.write(bArray);
}
finally {
output.close();
}
}
catch(FileNotFoundException ex){
System.out.println("Fil ej funnen");
}
catch(IOException ex){
System.out.println(ex);
}
}
}

 

public class Meny {

static final String inMatningsFil = "C:\\bil.jpg";
static final String utMatningsFil = "C:\\bil_kopia.jpg";

public static void main(String[] args) {

//läser in alla bytes ifrån fil
byte[] bArray = ReadAndWrite.läsFil(inMatningsFil);
//Skriver ut alla bytes i en annan fil
ReadAndWrite.skrivBytes(bArray, utMatningsFil);

}

}