Bom dia estou a criar um programa e depareime c o seguinte problema: a funçao é a seguinte:
public static void loadPrograma() {
if (fProgramFileChooser == null) {
fProgramFileChooser
= new JFileChooser(System.getProperty(“user.dir”));
fProgramFileChooser.setDialogTitle(“Escolha um Programa para abrir”);
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension(“txt”);
filter.setDescription(“Ficheiros Programa Karel”);
fProgramFileChooser.setFileFilter(filter);
}
int returnVal = fProgramFileChooser.showOpenDialog(Aluno.jFrame);
if(returnVal == JFileChooser.APPROVE_OPTION) {
loadPrograma(fProgramFileChooser.getSelectedFile());
}
}
public static void loadPrograma(File f) {
try {
String fileName = fProgramFileChooser.getName(f);
System.out.println(f);
Aluno.EditorProgramaTextArea.setText("");
try {
BufferedReader inStream = // Cria e abre a stream
new BufferedReader(new FileReader(fileName));
String linha = inStream.readLine(); // Le uma linha
while (linha != null) { // Enquanto existe mais texto
Aluno.EditorProgramaTextArea.append(linha + "\n"); // mostra uma linha
linha = inStream.readLine(); // Le proxima linha
}
inStream.close(); // Fecha a stream
} catch (FileNotFoundException e) {
Aluno.EditorProgramaTextArea.setText("IOerror: Ficheiro nao encontrado: " + fileName + "\n");
e.printStackTrace();
} catch (IOException e) {
Aluno.EditorProgramaTextArea.setText("IOerrorR: " + e.getMessage() + "\n");
e.printStackTrace();
}
loadPrograma(new FileInputStream(f));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void loadPrograma(InputStream is) {
try {
ObjectInputStream in = new ObjectInputStream(is);
Program prog = (Program) in.readObject();
in.close();
fRobot.setProgram(prog);
} catch (Exception e) {
e.printStackTrace();
}
}
O programa entra dentro do try da "loadPrograma(InputStream is) " mas não passa do comando “ObjectInputStream in = new ObjectInputStream(is);” dando o seguinte erro:
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at Cliente.Programa.loadPrograma(Aluno.java:1811)
at Cliente.Programa.loadPrograma(Aluno.java:1800)
at Cliente.Programa.loadPrograma(Aluno.java:1775)
at Cliente.Aluno$4.actionPerformed(Aluno.java:672)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Será que alguem me pode ajudar é mesmo muito urgente.
Obrigado