zoukankan      html  css  js  c++  java
  • 英汉小词典 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();
        }
    }

  • 相关阅读:
    C++-类的const成员变量
    Linux-编译器gcc/g++编译步骤
    C++-理解构造函数、析构函数执行顺序
    Linux-Unix版本介绍
    C++-const_cast只能用于指针和引用,对象的const到非const可以用static_cast
    Linux-如何查看登陆shell的类型
    C++-不要在构造和析构函数中调用虚函数
    C++-模板的声明和实现为何要放在头文件中
    C++-函数模板特化如何避免重复定义
    Linux-Gcc生成和使用静态库和动态库详解
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/13849636.html
Copyright © 2011-2022 走看看