Boa noite!
Estou a tentar ler um ficheiro excell CSV com esta formatação:
Numero;Ano
1111111;1
2222222;2
3333333;3
O problema é que o programa dá-me este erro:
[list]9/Jun/2011 21:08:32 lapr2_lerficheiros.InterfaceGrafica$1 actionPerformed
SEVERE: null
java.io.FileNotFoundException: LEI_ALUNOS_2009_2010.csv (O sistema não conseguiu localizar o ficheiro especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.
at java.util.Scanner.
at lapr2_lerficheiros.LeituraAlunos.lerFicheiro(LeituraAlunos.java:36)
at lapr2_lerficheiros.InterfaceGrafica$1.actionPerformed(InterfaceGrafica.java:52)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[/list]
JMenuItem jmiLerFicheiro = new JMenuItem("Ler", 'L');
jmiLerFicheiro.setAccelerator(KeyStroke.getKeyStroke("ctrl L"));
jmiLerFicheiro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
LeituraAlunos la = new LeituraAlunos();
MeuLinkedList m = la.lerFicheiro();//linha 52
la.gravarFicheiro(m, "Alunos");
} catch (FileNotFoundException ex) {
Logger.getLogger(InterfaceGrafica.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Código do método que lê ficheiro:
@Override
public MeuLinkedList lerFicheiro() throws FileNotFoundException {
String[] dados;
JFileChooser jfcLerFicheiro = new JFileChooser();
jfcLerFicheiro.setDialogTitle("Escolha um ficheiro CSV de alunos a carregar");
int returnVal = jfcLerFicheiro.showOpenDialog(jfcLerFicheiro);
if (returnVal == JFileChooser.APPROVE_OPTION) {
Scanner in = new Scanner(new File(jfcLerFicheiro.getSelectedFile().getName()));//linha 36
dados = in.nextLine().split(";");
try {
if (dados[0].equalsIgnoreCase("Numero")) {
alunosCSV = new MeuLinkedList();
while (in.hasNextLine()) {
dados = in.nextLine().split(";");
alunosCSV.add(new Aluno(Integer.parseInt(dados[0]), Integer.parseInt(dados[1])));
}
in.close();
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getMessage() + "\nTem de seleccionar um ficheiro com o nome LEI_ALUNOS");
}
}
return alunosCSV;
}
Alguém pode ajudar?
Obrigado e Abraço