简易记事本(演示java文件io)
打开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)的更多相关文章
- Java - 文件(IO流)
Java - 文件 (IO) 流的分类: > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter ...
- Java 文件IO续
文件IO续 File类 用来将文件和文件夹封装成对象 方便对文件和文件夹的属性信息进行操作 File对象可以作为参数传递给流的构造函数 Demo1 File的构造方法 public cla ...
- Java文件IO操作应该抛弃File拥抱Paths和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
- Java 文件IO
文件IO Java IO IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 按操作数据分为 字节流和字符流 字符流的 ...
- Java文件IO操作应该抛弃File拥抱Path和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
- Java文件IO流的操作总结
Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...
- Java 文件 IO 操作
window 路径分割符: \ 表示 windows 系统文件目录分割符 java 代码在 windows 下写某个文件的话需要下面的方式 D:\\soft\\sdclass.txt 其中一个单斜杠 ...
- Java文件(io)编程——简易记事本开发
public class NotePad extends JFrame implements ActionListener{ //定义需要的组件 JTextArea jta=null; //多行文本框 ...
- java文件IO操作
package com.io; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...
随机推荐
- SRM 584 第一次玩TopCoder。。。只水题一道。。。
第一次topcoder,以前老感觉没有资格去做tc,cf什么的,现在已经慢慢接触了. 感觉还可以,还是有让我们这些蒻菜安慰的水题. tc的确很好玩,用客户端比赛,还有各种规则,而且还是只编写一个类提交 ...
- JavaScript的正则表达式使用
一:遇到问题 今天做项目时,在前台js对身份证号进行验证时,一直达不到预期的效果,我是监控文本域变量, $scope.watch('form.idNo',function(v){ if(!v){ re ...
- Adobe Edge Animate –svg地图交互-精确的边缘及颜色置换
Adobe Edge Animate –svg地图交互-精确的边缘及颜色置换 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 上一篇我们说到了使用jquer ...
- 纯CSS制作“跳动的心”demo
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/commons/logging/LogFactory
今天,安装Tomcat7.0.21后,单独用D:\apache-tomcat-7.0.21\bin\startup.bat启动web服务正常.但 在MyEclipse8.5中集成配置Tomcat7后, ...
- HDOJ2025查找最大元素
查找最大元素 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- Servlet之创建与配置
上篇已将介绍完了,下面来实践操作走一个: 首先在名为"com.caiduping"的包中创一个MyFilter的对象: 1 package com.caiduping; 2 3 i ...
- Swift调用Objective-C
Swift调用Objective-C需要一个名为“<工程名>-Bridging-Header.h”的桥接头文件,如下图所示.桥接头文件的作用是为Swift调用Objective-C对象搭建 ...
- 管理员取得所有权(复制以下代码粘贴至记事本然后把后缀名改为reg)
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="获取权限" "NoWo ...
- Ng机器学习笔记-1-一元线性回归
一:回归模型介绍 从理论上讲,回归模型即用已知的数据变量来预测另外一个数据变量,已知的数据属性称为输入或者已有特征,想要预测的数据称为输出或者目标变量. 下图是一个例子: 图中是某地区的面积大小与房价 ...