Tipo eu tenho esta função que recebe um string com o path do aruivo como por exemplo "C:\\temp\\ip.txt" só que da uma exceção de java.io.StreamCorruptedException: invalid Stream header...
Como posso resolver??
publicvoidabreArq(Stringendereco){Filenome=newFile(endereco);if(nome==null||nome.getName().equals("")){JOptionPane.showMessageDialog(null,"Usarei o ip padrão !");}else{try{entrada=newObjectInputStream(newFileInputStream(nome));}catch(IOExceptione){JOptionPane.showMessageDialog(null,"Erro ao obter IP !\n"+e);System.exit(0);}}}
Não… ele foi escrito a mão o conteúdo dele é só o endereço de ip “200.171.18.92”
Pois ele eh gerado pelo outro sistema, que só sabe gerar estes arquivos.
Tem como resolver este problema?
danieldestro
Faça apenas:
InputStream entrada = new FileInputStream( nome );
A
anonimoxz
Ta e ai como eu faria a leitura??
Eu ja tinha feito isto…
public void ler()
{
try {
msg = ( String ) entrada.readObject();
}
catch( IOException e ){
fechaArq();
}
catch( ClassNotFoundException c )
{
JOptionPane.showMessageDialog( null, "Impossivel criar os objetos" );
}
}
danieldestro
Melhor solução:
BufferedReader r = new BufferedReader(new FileReader("c:\\ip.txt"));
String line = r.readLine();
r.close();
Outros métodos:
InputStream is = new FileInputStream("c:\\ip.txt");
byte buffer = new byte[512];
StringBuffer sb = new StringBuffer();
int i = -1;
while( (i = is.read( buffer, 0, 1024 )) > 0 ) {
sb.append( buffer, 0, i );
}
is.close();
A
anonimoxz
Eu tentei as duas soluções…
A melhor deu que ele não encontra o método .readLine(); e a outra não encontra o .class do byte ???
danieldestro
Ops, falha minha.
Eu arrumei o código. Olha lá de novo.
[ ]´s