演示效果:
 

打开txt文件

输入文字,保存

选择保存地址

生成文件

源代码:

 package io;
import java.io.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.*; public class text extends JFrame implements ActionListener{ /**
* @param args
*/
//需要的组件
//文本框
JTextArea jta1=null;
//菜单条
JMenuBar jmb1=null; //菜单 JMenu jm1=null;
//菜单项
JMenuItem jmi1=null;
JMenuItem jmi2=null; JScrollPane jsp1=null; public static void main(String[] args) {
// TODO Auto-generated method stub text show=new text(); } public text()
{
//文本框
jta1 =new JTextArea(); //菜单条
jmb1=new JMenuBar(); //菜单 jm1=new JMenu("文件(0)");
//助记符
jm1.setMnemonic('F'); //菜单项
jmi1=new JMenuItem("打开",new ImageIcon("src/10.gif")); //注册监听 jmi1.addActionListener(this);
jmi1.setActionCommand("open"); jmi2=new JMenuItem("保存",new ImageIcon("src/9.gif")); //注册监听
jmi2.addActionListener(this);
jmi2.setActionCommand("save"); this.setJMenuBar(jmb1);
jmb1.add(jm1);
jm1.add(jmi1);
jm1.add(jmi2); jsp1=new JScrollPane(jta1); this.add(jsp1); this.setTitle("记事本");
this.setSize(400, 300);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} @Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
//判断 if(arg0.getActionCommand().equals("open"))
{
//文件选择组件
JFileChooser jfc1=new JFileChooser();
//设置名字
jfc1.setDialogTitle("请选择文件…"); //设置组件.null表示默认方式
jfc1.showOpenDialog(null); jfc1.setVisible(true);
//得到用户选择的文件路径 String filename1=jfc1.getSelectedFile().getAbsolutePath(); //读取
FileReader fr1=null; BufferedReader br1=null; try {
fr1=new FileReader(filename1);
br1=new BufferedReader(fr1); //读取信息,显示到文本框jta1 String s="";
String all="";
while((s=br1.readLine())!=null)
{
all+=s+"\r\n";
//jta1.setText(s+"\r\n");
} jta1.setText(all); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
fr1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
br1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else if(arg0.getActionCommand().equals("save"))
{
//文件选择组件
JFileChooser jfc1=new JFileChooser();
//设置名字
jfc1.setDialogTitle("保存文件…"); //设置组件.null表示默认方式
jfc1.showSaveDialog(null); jfc1.setVisible(true);
//得到用户选择的文件路径 //得到用户选择的文件路径 String filename1=jfc1.getSelectedFile().getAbsolutePath(); //写入
FileWriter fw1=null; BufferedWriter bw1=null; try {
fw1=new FileWriter(filename1); //写入信息,显示到文本框jta1 fw1.write(this.jta1.getText()); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
fw1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bw1.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
} }

简易记事本(演示java文件io)的更多相关文章

  1. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  2. Java 文件IO续

    文件IO续 File类    用来将文件和文件夹封装成对象 方便对文件和文件夹的属性信息进行操作    File对象可以作为参数传递给流的构造函数 Demo1 File的构造方法 public cla ...

  3. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  4. Java 文件IO

    文件IO Java IO    IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中    按操作数据分为 字节流和字符流        字符流的 ...

  5. Java文件IO操作应该抛弃File拥抱Path和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  6. Java文件IO流的操作总结

    Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...

  7. Java 文件 IO 操作

    window 路径分割符: \ 表示 windows 系统文件目录分割符 java 代码在 windows 下写某个文件的话需要下面的方式 D:\\soft\\sdclass.txt  其中一个单斜杠 ...

  8. Java文件(io)编程——简易记事本开发

    public class NotePad extends JFrame implements ActionListener{ //定义需要的组件 JTextArea jta=null; //多行文本框 ...

  9. java文件IO操作

    package com.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...

随机推荐

  1. TCP/IP协议原理与应用笔记17:IP编址(重点)

    1. IP地址(通用标识符) 对于同一个网络设备(主机或路由器)的不同网络连接,需要不同的IP地址进行标识 2. 主机标识符 主要有下面三种方式的主机标识方式: (1)Name:是什么,可读性强(了解 ...

  2. learning nodejs 2 - connect middleware

    学习了connect module nodejs 的中间件方式 var connect = require('connect'); var server = connect.createServer( ...

  3. android源码编译常见错误

    错误1:You are attempting to build on a 32-bit system. Only 64-bit build environments are supported bey ...

  4. python(3)-动态参数实现字符串格式化

    s1 = "{0} ===> {1}" s = s1.format('lilei', 'boy') print(s) l = ['lilei', 'boy'] s = s1. ...

  5. 自动化中的PageObject思想

    谈着这个话题很大,因为我自己在自动化分层的方面做的就不是很好,最近在做java+selenium中,如果不分层去管理,代码就显得很乱,如下: 下面代码主要是做了一个登录,登录后在修改自己的一些个人信息 ...

  6. html5 之 canvas 相关知识(一)概念及定义

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  7. Ajax发送FormData对象封装的表单数据

    前端页面: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...

  8. Linux 命令 - traceroute: 数据报传输路径追踪

    traceroute 工具用于跟踪数据报的传输路径:当数据报从一台计算机传向另一台计算机时,会经过多重的网关,traceroute 命令能够找到数据报传输路径上的所有路由器.通过 traceroute ...

  9. Red Hat Enterprise Linux 5安装序列号

    为了保证安装的组件和订阅相匹配,红帽企业 Linux 5 需要输入一个安装号.它被用来配置安装程序来提供正确的软件包.安装号码包含在你的订阅里. 如果您没有输入安装号码,只有核心服务器或 Deskto ...

  10. 我的EntityFramework(2):简单的数据查询

    原文:我的EntityFramework(2):简单的数据查询 在上一篇博文中,已经搭建了基本的框架,接下来就进行简单的数据查询,这里主要用了Linq 常见的数据集查询 var companyList ...