• 英汉小词典 java随机存取文件流应用 version1.0


    package jnet;
    //英汉小词典  随机存取文件   需改进 version1.0
    import java.io.*;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class F extends JFrame implements ActionListener{
        File file = new File("英汉小词典.txt");
        JButton writeBtn = new JButton("录入");
        JButton viewBtn = new JButton("显示");
        JTextField word = new JTextField(8);
        JTextField note = new JTextField(8);
        JTextArea txt = new JTextArea(20,30);
        JPanel p1 = new JPanel();
        JPanel p2 = new JPanel();
        
        F(){
            setTitle("英汉小词典");
            setBounds(100,50,400,250);
            setVisible(true);
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            
            add(p1,"North");
            p1.setBackground(Color.cyan);
            p1.add(new JLabel("输入单词"));
            p1.add(word);
            p1.add(new JLabel("输入解释"));
            p1.add(note);
            p1.add(writeBtn);
            writeBtn.addActionListener(this);
            
            add(p2,"Center");
            p2.add(viewBtn);
            p2.add(txt);
            viewBtn.addActionListener(this);
            validate();
        }
        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource()==writeBtn) {
                inputWord();
            }
            if (e.getSource()==viewBtn) {
                viewWord();
            }
        }
        
        //显示汉语解释的方法
        public void viewWord()
        {
            int number=1;
            try {
                @SuppressWarnings("resource")
                RandomAccessFile infile = new RandomAccessFile(file, "rw");
                @SuppressWarnings("unused")
                String 单词 =null;
                while((单词=infile.readUTF())!=null)
                {
                    txt.append("\n"+number+单词);
                    txt.append(" " + infile.readUTF());  //读取汉语解释
                    txt.append("\n--------------------");
                    number++;
                }
                infile.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        //处理输入的单词的
        public void inputWord()
        {  
            try {
                RandomAccessFile outfile = new RandomAccessFile(file, "rw");
                if (file.exists()) {
                    //实现指针跳到文件末尾
                    long length = file.length();
                    outfile.seek(length);
                }
                outfile.writeUTF("单词:"+word.getText());
                outfile.writeUTF("解释:"+note.getText());
                outfile.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        public static void main(String[] args) {
            new F();
        }
    }

  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 回形取数
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    Java实现 蓝桥杯VIP 基础练习 报时助手
    block的是发送信号的线程,又不是处理槽函数的线程
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/13849636.html
Copyright © 2020-2023  润新知