简易记事本(演示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 ...
随机推荐
- python multiprocess不能完全关闭socket的验证
近日项目有原来的多线程升级成为多进程模型后,但出现了个问题,在持续运行一天左右系统处理能力开始变慢,并不时打印以下信息: too many opened files 修改ulimit中open fil ...
- 最简单好用的SSO - 能经得起几万并发用户的SSO 组件使用方法介绍
项目中使用了通用权限管理系统,该系统集成了单点登录功能,下面我来介绍下该单点登录实现的一些细节. 首先我们来看看其登录接口,系统本身支持各种登录方式: 1.公司名.用户名.密码 2.唯一账号.密码 3 ...
- Javascript与Ajax
不使用jquery来处理ajax请求该怎么做? 首先要明确html中的某些数据需要从服务端获得,也就是客户端向服务端请求(request)数据,服务端就响应(response)这个请求,把客户端要的数 ...
- ASP.NET MVC ModelState
添加一个模型状态: ModelState.Add("IamKey", new ModelState { Value = new ValueProviderResult(" ...
- iOS 新特性关键字
1.用来修饰属性,或者方法的参数,方法的返回值 /** nullable:表示可以传空 */ //@property (nonatomic, strong, nullable) NSString *n ...
- 使用NumberPicker定制自己喜欢的Date&TimePicker
1.NumberPicker简介: NumberPicker是Android3.0之后引入的一个控件,主要功能是用于选择一组预定义好数字的控件. 该控件主要需要指导一个用于监听当前value变化的li ...
- 《Cortex-M0权威指南》之绪论
转载请注明来源:cuixiaolei的技术博客 1.1 为什么要选择Cortex-M0 为了满足现代超低功耗微控制器和混合信号设备的需要,ARM推出了Cortex-M0处理器.Cortex-M0在保持 ...
- 改变linux shell前景色和背景色
作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有.转载时请在明显地方注明本文的详细链接,未经作者同意请不要删 ...
- HDU 3533 Escape (BFS + 预处理)
Escape Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- hdu 4665 搜索
思路:直接搜索 #include<iostream> #include<cstdio> #include<algorithm> #include<cstrin ...