20. april 2006 - 13:21
Der er
9 kommentarer og 1 løsning
Skriv til fil - IO - throws IOException fejl
Se bort fra GUI. Men eftersom jeg ikke sortere det fra, er det med. Den laver en fejl, og jeg fatter bønne. Jeg vil skrive til en fil fra mit input-tekst felt. Hjælp mig. Jeg er en spasser til det, så forklar det store træk, tak. import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class Gem { private JFrame frame; private JTextField txtField; public Gem() { frame = new JFrame("Gem til fil eksempel"); makeFrame(); } // private static void makeFrame(String[] args) throws IOException private void makeFrame() { // Hele vinduet Container contentPane = frame.getContentPane(); contentPane.setLayout(new BorderLayout()); JLabel minLabel = new JLabel("Skriv noget:"); txtField = new JTextField(); JPanel buttonPanel = new JPanel(); // født med flowlayout JButton saveButton = new JButton("Save"); saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { makeFile(); } }); JButton exitButton = new JButton("Exit"); exitButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); buttonPanel.add(saveButton); buttonPanel.add(exitButton); // Arranger delene contentPane.add(minLabel, BorderLayout.NORTH); contentPane.add(txtField, BorderLayout.CENTER); contentPane.add(buttonPanel, BorderLayout.SOUTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } private void makeFile() throws IOException { File outputFile = new File("outOfHere.txt"); FileWriter out = new FileWriter(outputFile); String txt = txtField.getText(); if (!txt.equals("")){ out.write(txt); } out.close(); } }
Annonceindlæg tema
20. april 2006 - 14:02
#1
try { BufferedWriter out = new BufferedWriter(new FileWriter("outOfHere.txt")); out.write(txt); out.close(); } catch (IOException e) { }
20. april 2006 - 14:11
#2
Bliver der kastet en exceptiton og i så fald kan du ikke smide exceptionen så vi kan se den
20. april 2006 - 19:06
#3
"unreported exception java.oi.OIException; must be caught or declared to be thrown" Siger den. Bruger BlueJ.
20. april 2006 - 22:36
#4
Du skal rette dette: saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { makeFile(); } }); - til dette: saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { try { makeFile(); } catch (IOException ex) { } } }); Grund: Da du har erklæret at din funktion kan kaste en exception: private void makeFile() throws IOException { ... } - kræver Java at denne *skal* try-catches. Ellers vil Java ikke en gang kompilere den.
20. april 2006 - 23:08
#5
indtil det virker vil jeg foreslaa } catch (IOException ex) { JOptionPane.showDialog(this, e.getMessage()); } ellers er troubleshooting lidt besvaerligt ...
21. april 2006 - 06:36
#6
God pointe. :^) I det hele taget skal der jo helst være noget fornuftig kode i catch-delen; Hvad der er "fornuftigt" i det konkrete tilfælde afhænger imidlertid af hvad du vil have dit program til at gøre.
21. april 2006 - 12:22
#7
Den siger cannot find symbol når jeg indsætter den streng arne. Men ellers virker det nu. Tak. 50 til nielle og 10 til arne. Svar for point.
21. april 2006 - 13:11
#8
giv alle point til nielle jeg gav bare et generelt godt råd
21. april 2006 - 14:54
#9
Svar :^)
23. april 2006 - 07:29
#10
Takker for point :^)
Kurser inden for grundlæggende programmering