Fórum Como ler e gravar um arquivo binário ? #566911
09/04/2009
0
public static void lerArquivoBin(String origem, String destino){
try{
File fileOrigin = new File(origem);
File fileDestiny = new File(destino);
FileInputStream i = new FileInputStream(fileOrigin);
FileOutputStream o = new FileOutputStream(fileDestiny);
BufferedInputStream in = new BufferedInputStream(i);
BufferedOutputStream out = new BufferedOutputStream(o);
int x;
while((x = in.read()) != -1){
out.write(x);
System.out.println("byte = "+x);
}
in.close();
out.close();
}catch(Exception e){
System.out.println("Erro = "+e);
}
}Mauricio Hiroshi
Curtir tópico
+ 0Posts
09/04/2009
Bruno Ghisi
public static void lerArquivoBin(String origem, String destino){
try{
File fileOrigin = new File(origem);
File fileDestiny = new File(destino);
BufferedInputStream in = new BufferedInputStream(new FileInputStream(fileOrigin));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int x = 0;
while((x = in.read()) != -1){
baos.write(x);
}
in.close();
String fileContent = new String(baos.toByteArray());
//manipular o fileContent de acordo com desejado para modificar os $Header, exemplo bobo concantenado um "testado" abaixo para notares a modificação sobre o original
fileContent += "testando";
FileOutputStream o = new FileOutputStream(fileDestiny);
o.write(fileContent.getBytes());
o.flush();
o.close();
}catch(Exception e){
System.out.println("Erro = "+e);
}
}Gostei + 0
09/04/2009
Mauricio Hiroshi
public static void generatePatch(String fileOrigin, String fileName, String version, String versionDate, String user){
try{
BufferedInputStream in = new BufferedInputStream(new FileInputStream(new File(fileOrigin)));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int x;
while((x = in.read()) != -1) baos.write(x);
in.close();
String fileContent = new String(baos.toByteArray());
if (fileContent.indexOf("$Header: %f% %v% %d% %u% ship $") == -1)
System.out.println("Arquivo fora de padrão.");
else{
fileContent = fileContent.replace("%f%",fileName);
fileContent = fileContent.replace("%v%",version);
fileContent = fileContent.replace("%d%",versionDate);
fileContent = fileContent.replace("%u%",user);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(fileOrigin)));
out.write(fileContent.getBytes());
out.flush();
out.close();
System.out.println("Patch "+fileOrigin+" gerado com sucesso.");
}
}catch(FileNotFoundException fnfe){
System.out.println("Erro: O arquivo "+fileOrigin+" não foi localizado.");
}catch(IOException ioe){
System.out.println("Erro: Falhou ao ler/gravar arquivo.");
}catch(Exception e){
System.out.println("Erro desconhecido: "+e);
}
}
Gostei + 0
09/04/2009
Bruno Ghisi
Gostei + 0
09/04/2009
Bruno Ghisi
Gostei + 0
09/04/2009
Mauricio Hiroshi
Gostei + 0
09/04/2009
Carlos Heuberger
int x;
...
String hex = String.format("%02x", x); // ou semelhante
Gostei + 0