记事本读写文件功能的实现

public class Notepad extends JFrame implements ActionListener{

//定义需要的组件

JTextArea jta = null;

//菜单条

JMenuBar jmb = null;

//第一JMenu

JMenu jm1 = null;

//定义JMenuItem

JMenuItem jmi1 = null;

JMenuItem jmi2 = null;

public static void main(String[] args) {

Notepad np = new Notepad();

}

//构造函数

public Notepad(){

//创建jta

jta = new JTextArea();

jmb = new JMenuBar();

jm1 = new JMenu("文件");

//设置助记符

jm1.setMnemonic(‘F‘);

jmi1 = new JMenuItem("打开");

//注册监听

jmi1.addActionListener(this);

jmi1.setActionCommand("open");

jmi2 = new JMenuItem("保存");

//对保存菜单处理

jmi2.addActionListener(this);

jmi2.setActionCommand("save");

//加入

this.setJMenuBar(jmb);

//把jm1放入jmb

jmb.add(jm1);

//把item放入Menu

jm1.add(jmi1);

jm1.add(jmi2);

//放入到JFrame

this.add(jta);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setSize(400,300);

this.setVisible(true);

}

@Override

public void actionPerformed(ActionEvent e) {

// 判断时哪个菜单被选中

if (e.getActionCommand().equals("open")) {

//System.out.println("open");

//重要组件:JFileChooser

//文件选择组件

JFileChooser jfc1 = new JFileChooser();

//设置名字

jfc1.setDialogTitle("请选择文件......");

//默认方式

jfc1.showOpenDialog(null);

//显示

jfc1.setVisible(true);

//得到用户选择文件的全路径

String filename = jfc1.getSelectedFile().getAbsolutePath();

//System.out.println(filename);

FileReader fr = null;

BufferedReader br = null;

try {

fr = new FileReader(filename);

br = new BufferedReader(fr);

//从文件中读取信息并显示到jta

String s = "";

String allContent = "";

while ((s = br.readLine())!=null) {

//System.out.println(s);  //将文件内容输出到控制台

//输出到磁盘

allContent+=s+"\r\n";

}

//放置大jta即可

jta.setText(allContent);

} catch (Exception e1) {

}finally{

try {

br.close();

fr.close();

} catch (Exception e1) {

e1.printStackTrace();

}

}

}else if (e.getActionCommand().equals("save")) {

//出现保存对话框

JFileChooser jfc = new JFileChooser();

jfc.setDialogTitle("另存为......");

//按默认的方式显示

jfc.showSaveDialog(null);

jfc.setVisible(true);

//得到用户希望把文件保存到何处--文件全路径

String file = jfc.getSelectedFile().getAbsolutePath();

//准备写入到指定文件

FileWriter fw = null;

BufferedWriter bw = null;

try {

fw = new FileWriter(file);

bw = new BufferedWriter(fw);

//自己可以进行优化

bw.write(this.jta.getText());

} catch (Exception e2) {

e2.printStackTrace();

}finally{

try {

bw.close();

fw.close();

} catch (Exception e3) {

}

}

}

}

}

时间: 2024-10-08 01:32:48

记事本读写文件功能的实现的相关文章

Verilog读写文件

在通过编写Verilog代码实现ram功能时,需要自己先计算寄存器的位数和深度再编写代码. 而如果需要在编写的ram中预置值的话,就需要使用Verilog语言编写程序读写文件,来将相应的数据赋给寄存器. 这里给出Verilog实现ram的代码: module dpram( rclk, raddr, dout, wclk, we, waddr, din ); parameter aw = 16; //address widtth parameter dw = 12; //data address

Python读写文件

Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt')try:     all_the_text = file_object.read( )finally:     file_object.close( ) 注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法.

c读写文件

//如何读写文件字符,使用gets(),puts(),fgets(),fputc()函数 //gets()函数用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符,和puts配合使用//从严格程度讲,gets(s)函数<scanf("%s",s),后者遇到空格会认为字符串结束//puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s):其中s为字符串字符(字符串数组名或字符串指针). //fputs是一种函

用RandomAccessFile来读写文件

RandomAccessFile类,即可以读取文件,也可以写入文件,功能比较强大,这种读取/写入通过一个参数控制. 通过RandomAccessFile类的方法,可以设置和测定文件指针的位置,因此可以在文件的各种位置读取或写入文件. 案例如下: 读取file81.txt中的内容,并把它写入到fie82.txt中.注意,在file82.txt中只能添加新内容,不能覆盖原有的内容. package cn.unit12.file; import java.io.RandomAccessFile; pu

node.js的fs核心模块读写文件操作 -----由浅入深

node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法- 文件大分流读取,stream - 引入fs模块 - let fs=require('fs') 同步读取文件 -fs.readFileSync('路径',utf8); let result=fs.readFileSync('./1.txt','utf8'); 异步读取文件,用参数err捕获错

[Python 3系列]读写文件

文件路径 文件有两个关键属性:"文件名"和"路径".路径指明了文件在计算机上的位置. 在windows上,路径书写使用倒斜杠作为文件夹之间的分隔符.但在OS X和Linux上,使用正斜杠作为它们的路径分隔符.如果想要程序运行在所有操作系统上,在编写python脚本时,必须处理这两种情况. 如果将单个文件和路径上的文件夹名称的字符串传递给os.path.join()函数,它会返回一个文件路径的字符串,包含正确的路径分隔符. >>> import os

Python遍历文件夹和读写文件的方法

本文和大家分享的主要是python开发中遍历文件夹和读写文件的相关内容,一起来看看吧,希望对大家学习和使用这部分内容有所帮助. 需 求 分 析 1.读取指定目录下的所有文件 2.读取指定文件,输出文件内容 3.创建一个文件并保存到指定目录 实 现 过 程 Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Java写了一个写入.创建.复制.重命名文件要将近60行代码: 不过简洁的代价是牺牲了一点点运行速度,但随着硬件性能的提升,运行速度的差异会越来越小,直到人类无法察觉~ #

java.io几种读写文件的方式

一.Java把这些不同来源和目标的数据都统一抽象为数据流. Java语言的输入输出功能是十分强大而灵活的. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流. 这里介绍几种读写文件的方式 二.InputStream.OutputStream(字节流) //读取文件(字节流) InputStream in = new FileInputStream("d:\\1.txt"); //写入相应的文件

在linux内核中读写文件

http://blog.csdn.net/tommy_wxie/article/details/8194276 1. 序曲 在用户态,读写文件可以通过read和write这两个系统调用来完成(C库函数实际上是对系统调用的封装). 但是,在内核态没有这样的系统调用,我们又该如何读写文件呢? 阅读Linux内核源码,可以知道陷入内核执行的是实际执行的是sys_read和sys_write这两个函数,但是这两个函数没有使用EXPORT_SYMBOL导出,也就是说其他模块不能使用. 在fs/open.c