第一范文网 - 专业文章范例文档资料分享平台

ch09

来源:用户分享 时间:2025/5/30 8:50:20 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

rf.seek(i*4);

System.out.println(rf.readInt()); }

rf.close(); } }

程序分析:

本程序打开一个随机文件c.txt,向里面连续写入从0到9十个整数,然后将指针移到第五个,将5改为0,然后输出。

图9-7 随机文件的读写

从结果可看出5被改写为0。

移动指针时注意,一个整型数占4个字节,所以用rf.seek(5*4)。

9.5 案例-设计一个小型文本文件编辑器

设计一个图形界面的小型文本编辑器,可以打开一个文本文件,并且进行编辑,修改,保存。进入这个小文本编辑器之前先输入密码,如果密码输入正确进入编辑器,输入错误,系统给出提示。 1.登录界面

登录界面如图9-8所示。

图9-8 登录界面

代码如下:Login.java import java.io.*;

import javax.swing.*;

import java.awt.event.*;

public class Login extends JFrame implements ActionListener{ JPasswordField jpf=new JPasswordField(10); public Login(){

JPanel jp=new JPanel();

jp.add(new JLabel(\请输入密码:\ jp.add(jpf);

JButton jbtn=new JButton(\确定\ jbtn.addActionListener(this); jp.add(jbtn);

this.add(jp);

this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setSize(300,100); this.setLocation(200,200); this.setVisible(true); }

public void actionPerformed(ActionEvent ae){ try{

char fin[]=new char[256]; File f=new File(\

FileReader fr=new FileReader(f); fr.read(fin);

String pwd=new String(fin); fr.close();

pwd=pwd.trim();

String jt=new String(jpf.getPassword()); jt=jt.trim();

if(pwd.equals(jt)){ this.dispose(); new Edit(); } else{

JOptionPane.showMessageDialog(null, \密码错误,JOptionPane.ERROR_MESSAGE); } }

catch(Exception e){

System.out.println(\文件读取错误\ } }

请重输!\\提示\

public static void main(String args[]){ new Login(); } }

说明:

(1)Login类继承JFrame类,在构造方法中设计界面。

(2)密码保存在pwd.txt文件中,为了保密起见,采用JPasswordField组件输入密码。 (3)采用trim()方法是为了去空格,因为字符转换为字符串类型时可能会有空格,当用户通过文本框输入内容时也可能会输入空格。

2.编辑界面

如图9-9所示。

图9-9 编辑界面

代码如下:Edit.java import javax.swing.*; import java.awt.event.*; import java.io.*;

public class Edit extends JFrame implements ActionListener{ JTextArea jta=new JTextArea(10,40); JTextField jt_file=new JTextField(20); JTextField jt_txt=new JTextField(20);

JButton jbtn_add=new JButton(\添加\ JButton jbtn_save=new JButton(\保存\ JButton jbtn_open=new JButton(\打开\

public Edit(){

jbtn_add.addActionListener(this); jbtn_save.addActionListener(this); jbtn_open.addActionListener(this);

JPanel jp=new JPanel();

jp.add(new JLabel(\请输入文件名:\ jp.add(jt_file); jp.add(jbtn_open); jp.add(jta);

jp.add(new JLabel(\请输入内容:\ jp.add(jt_txt); jp.add(jbtn_add); jp.add(jbtn_save);

this.setSize(500,320); this.setLocation(200,200);

this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.add(jp);

this.setVisible(true); }

public void actionPerformed(ActionEvent e){ String sf;

if(e.getSource()==jbtn_add){ //“添加”按钮代码 String s1=jta.getText(); if(!s1.equals(\ jta.append(\ }

jta.append(jt_txt.getText()); }

if(e.getSource()==jbtn_save){ //“保存”按钮代码 sf=(jt_file.getText()).trim(); if(sf.equals(\

showMsg(\请输入文件名!\ } else{ try{

File f=new File(sf);

FileWriter fw=new FileWriter(f); fw.write(jta.getText()); fw.close();

showMsg(\保存完毕!\

搜索更多关于: ch09 的文档
ch09.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4mnmb4iv5u208bi78dqg_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top