Erro ao abrir arquivo

Olá,
estou tentando abrir um arquivo através do JFileChooser, dessa forma:

	private void openFile() {
		JFileChooser fileChooser = new JFileChooser();

		fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
		int result = fileChooser.showOpenDialog(this);

		// user clicked Cancel button on dialog
		if (result == JFileChooser.CANCEL_OPTION)
			return;

		File fileName = fileChooser.getSelectedFile();

		if (fileName == null || fileName.getName().equals(""))
			JOptionPane.showMessageDialog(this, "Invalid File Name", "Invalid File Name", JOptionPane.ERROR_MESSAGE);
		else {
			// Open the file
			try {
				
				input = new ObjectInputStream(new FileInputStream(fileName));
				open.setEnabled(false);
				nextRecord.setEnabled(true);
			} catch (IOException e) {
				e.printStackTrace();
				JOptionPane.showMessageDialog(this, "Error Opening File", "Error", JOptionPane.ERROR_MESSAGE);
			}
		}
	}

Só que qnd eu tento abrir, dá esse erro:

java.io.StreamCorruptedException: invalid stream header	at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:753)
	at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
	at LerArquivoSeq.openFile(LerArquivoSeq.java:81)
	at LerArquivoSeq.access$2(LerArquivoSeq.java:63)
	at LerArquivoSeq$3.actionPerformed(LerArquivoSeq.java:53)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
	at java.awt.Component.processMouseEvent(Component.java:5488)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1766)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Alguém poderia me ajudar?? :frowning:

epa,

o q esse código deveria fazer:

  • abrir um arquivo ou
  • recuperar um objeto serializado.

fôia

O erro esta acontecendo pq o stream que vc esta passando pro ObjectInputStream nao eh um objeto serializado valido. O que tem nesse arquivo?

Eh um arquivo txt… :frowning:

Hmm… entao vc esta lendo errado :slight_smile:

Leia a documentação da classe aqui java.io.ObjectInputStream