主题:Java中如何读写ini文件,我有个例子,帮忙看下 收藏 打印 保存 举报 文本 作者:sfkdkjjj专家分:0 会员信息 发短消息 所属BLOG 发表时间:2006-11-28 0:01:00 [回复] 高质高效舒适地开发:使用Visual Unit 北京睿智汇海ASP.NET培训专家,2个月实现高薪梦想 楼主 package notepad;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class Note extends JFrame { private static final long serialVersionUID = -7283536731840224600L; private JTextArea content = new JTextArea(); private JScrollPane jsp = new JScrollPane(content); private JMenuBar jmb = new JMenuBar(); private JMenu file = new JMenu("文件"); private JMenuItem newfile = new JMenuItem("新建"); private JMenuItem open = new JMenuItem("打开"); private JMenuItem save = new JMenuItem("保存"); private JMenuItem saveas = new JMenuItem("另存为"); private JMenuItem exit = new JMenuItem("退出"); public Note(final String setDirectory) { setTitle("未命名 - 记事本"); file.add(newfile); file.add(open); file.add(save); file.add(saveas); file.add(exit); jmb.add(file); setJMenuBar(jmb); getContentPane().add(jsp); setSize(500,400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); open.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JFileChooser chooser = new JFileChooser(); System.out.println(setDirectory); chooser.setCurrentDirectory(new File(setDirectory)); int i = chooser.showOpenDialog(null); if (i == 0) { File f = chooser.getSelectedFile(); System.out.println(f); try { setTitle(f.getName() + " - 记事本"); FileReader fis = new FileReader(f); BufferedReader br = new BufferedReader(fis); String s = null; while (true) { s = br.readLine(); if (s != null) { content.append(s + "\n"); content.append("???"); } else { break; } } br.close(); fis.close(); } catch (FileNotFoundException e) { JOptionPane.showMessageDialog(null, f.getName() + "\n找不到文件。\n请检查所给的文件名是否正确。"); } catch (IOException e) { e.printStackTrace(); } } } }); save.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JFileChooser chooser = new JFileChooser(); int i = chooser.showSaveDialog(null); if (i == 0) { File f = chooser.getSelectedFile(); try { FileWriter fw = new FileWriter(f); BufferedWriter bw = new BufferedWriter(fw); bw.write(content.getText()); bw.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } } }); exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { dispose(); } }); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); File f = new File("C:\\File.ini"); //从这开始 String setDirectory = null; try { FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); String s = null; while (true) { s = br.readLine(); System.out.println(s); if (s == null) { break; } else if(s.indexOf(" = ") == -1) { continue; } else if(s.substring(0, s.indexOf(" = ")).equals("setDirectory")) { setDirectory = s.substring(s.indexOf(" = ") + 4, s.length() - 2); System.out.println(setDirectory); } } br.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Note n = new Note(setDirectory); //到这结束 n.setVisible(true); }}这有个我写的例子,不过太麻烦了,这只是读取了一个设置 补充所读取的 C:\\File.ini 内容[file]setDirectory = "C:\\"; 作者:zhangheng77专家分:3500 会员信息 发短消息 所属BLOG 发表时间:2006-11-28 18:21:00 [回复] [引用] 2 楼 你写的不是挺好的吗?没办法读文件就是这么麻烦顶多改这里一点,就是判断有没有C:\\,如果有就显示yes /*else if(s.indexOf(" = ") == -1) { continue; } else if(s.substring(0, s.indexOf(" = ")).equals("setDirectory")) { setDirectory = s.substring(s.indexOf(" = ") + 4, s.length() - 2); System.out.println("setDirectory is"+setDirectory); }*/ setDirectory = s; Pattern expression = Pattern.compile( "C:\\\\" ); Matcher matcher = expression.matcher( s ); System.out.println(setDirectory ); while ( matcher.find() ) System.out.println("yes");

评论