简易记事本(演示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 ...
随机推荐
- Java(Android)编程思想笔记01:多态性的理解
1. 多态的定义: 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式. (发送消息就是函数调用) 2. 多态的理解 多态是面向对象的重要特性,简 ...
- <Think Complexity> 用字典实现图
今天在图书馆闲逛的时候偶然看见<Think Complexity>(复杂性思考)这本书,下午看了一会儿觉得很有意思.本书第二章讲的是用Python实现的图,特别写篇博客记录. 首先,图 ...
- 编写一个单独的Web Service for Delphi
早段时间看了一篇好文章,对其整理成以下几步 1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件保存在一个叫Ser的目录下,其中一个包含TWebMo ...
- Java操作字符串的工具类
操作字符串的工具类 import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintStre ...
- 误用ArrayListMultimap引发的问题
最近生产环境的系统在运行一段时间后,用户登录速度越来越慢,但是重启某一模块后,用户登录恢复正常.如此反复,令人提心吊胆.于是下定决心,找出问题原因. 趁着系统运行低峰期,打印出相应Dump文件,发现D ...
- hdu1560 搜索
从原串的最大长度开始枚举,当某个长度的值能保存所有串时,即成功.对每个长度进行深搜,每次取某个串的第一个. #include<iostream> #include<cstdio> ...
- poj 2749 2-SAT问题
思路:首先将hate和friend建边求其次2-SAT问题,判断是否能有解,没解就输出-1,否则用二分枚举最大的长度,将两个barn的距离小于mid的看做是矛盾,然后建边,求2-SAT问题.找出最优解 ...
- 把数据库中的字符串格式转为long类型
背景: 在做接口时,需要把数据库中所有ID取出来,用jmter做一些数据关联,问题来了,数据库中的ID转换出来为字符型,而接口是需要使用LONG型,所以在导出来后,数据一直报类型不为long,那如何把 ...
- MyBatis(3.2.3) - One-to-many mapping
In the sample domain model, a tutor can teach one or more courses. This means that there is a one-to ...
- C#中显/隐式实现接口及其访问方法
原贴地址: http://www.cnblogs.com/dudu837/archive/2009/12/07/1618663.html 在实现接口的时候,VS提供了两个菜单,一个是"实现接 ...