简易记事本(演示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 ...
随机推荐
- poj 2723 2-SAT问题
思路:二分枚举能开的门的数量,将每次枚举转换成2-SAT问题.这里存在的矛盾是假设有门上a,b两个锁,a锁对应于1号钥匙,而一号钥匙的配对是2号钥匙,b锁对应于3号钥匙,3号的配对是4号钥匙.那么2号 ...
- Web前端学习笔记1
Day1. 1.Windows常用快捷键. 快捷键 功能 ctrl+c 复制 ctrl+v 粘贴 ctrl+x 剪切(复制和剪切后都可以粘贴) ctrl+a 全选 ctrl+s 保存 ctrl+tab ...
- JMS - 基本概念
连接工厂创建连接对象的工厂. 连接客户端与 JMS 服务器之间建立的连接.创建一个或多个会话. 会话创建消息.生产者和消费者,会话是 消息由三部分组成:消息头.消息属性和消息体. 生产者创建和发送消息 ...
- Swift使用闭包表达式
Swift中的闭包表达式很灵活,其标准语法格式如下:{ (参数列表) ->返回值类型 in 语句组}其中,参数列表与函数中的参数列表形式一样,返回值类型类似于函数中的返回值类型,但不同的是 ...
- c#中设置像数量,价格,金额等的textbox的限制条件,用户只能输入数字或小数
#region 设置数量等textbox控件样式及限制条件(具体调用的方法就是重写或直接调用ShieldNumberTextBoxOtherKeys函数) /// <summary> // ...
- (转)分布式搜索Elasticsearch——配置
配置文件位于%ES_HOME%/config/elasticsearch.yml文件中,用Editplus打开它,你便可以进行配置. 所有的配置都可以使用环境变量,例如: node.r ...
- (转)理想化的 Redis 集群
一个豁达的关键是正确乐观的面对失败的系统.不需要过多的担心,需要一种去说那又怎样的能力.因此架构的设计是如此的重要.许多优秀的系统没有进一步成长的能力,我们应该做的是去使用其他的系统去共同分担工作. ...
- java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...
- Oracle数据类型对应Java类型
SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型 1.0标准的JDBC类型: CHAR java.sql.Types.CHAR java.lang.St ...
- spring集合类型的setter注入的一个简单例子
在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...