java编程文本_如和用java编写文本?

展开全部

我写了两个类

使用方法:把这两个类保存了,第一个类的命名为Edit.java,第二个类的命名为WindowEdit.java

然后javac Edit.java ,最后输入java Edit,这62616964757a686964616fe4b893e5b19e31333262376637样就相当于一个简单的文件编辑器

参考链接http://student.csdn.net/space.php?uid=362253&do=blog&id=36612

第一个:

public class Edit {

public static void main (String[] args){

new WindowEdit ();

}

}

第二个:

import javax.swing.* ;

import java.io.* ;

import java.awt.event.* ;

class WindowEdit {

private JFrame frame = null ; //声明窗体

private JButton open = null ; //打开按钮

private JButton save = null ; //保存按钮

private JTextField text = null ; //路径文本区

private JTextArea area = null ; //查看文本域

private JScrollPane jsp = null ; //滚动条

private boolean flag = true ; //设置标志位

public WindowEdit (){ //构造方法

frame = new JFrame ("文件编辑器"); //实例化窗体,并设置名称

open = new JButton ("打开"); //实例化按钮

save = new JButton ("保存"); //实例化按钮

text = new JTextField ("在此输入打开文件的路径名" , 50); //实例化文本区

area = new JTextArea (); //实例化文本域

jsp = new JScrollPane (area); //实例化滚动条

frame.setLayout (null); //把默认布局设为空

frame.add (open); //添加组件

frame.add (save); //添加组件

frame.add (text); //添加组件

frame.add (jsp); //添加组件

text.setBounds (10,10,390,25); //设置组件位置

open.setBounds (410, 10 , 70 , 24); //设置组件位置

jsp.setBounds (10, 45 , 480 , 380); //设置组件位置

save.setBounds (240,430,70,24); //设置组件位置

frame.addWindowListener (new WindowAdapter (){ //设置窗体监听

public void windowClosing (WindowEvent e){ //窗体监听方法

System.exit (1);

}

});

open.addActionListener (new ActionListener (){ //设置对“打开”按钮的监听

public void actionPerformed (ActionEvent arg0){

while (flag){

if (arg0.getSource () == open){ //如果按钮的事件是"open"按钮的话,则发生以下事件

String path = text.getText (); //通过文本区,取得文件路径

File file = new File (path); //实例化文件

Reader reader = null ; //用字符流读入内容,避免中文乱码

try {

reader = new FileReader (file); //实例化字符流

}catch (Exception e){

e.printStackTrace ();

}

try {

char c[] = new char[(int)file.length ()] ; //设置字符数组的长度,根据文件的长度确定,避免越界

int len = 0 ; //设置读出内容的长度

len = reader.read (c); //读入数据

reader.close (); //关闭数据流

area.append (new String (c,0,len)); //为文本域输入内容

flag = false ; //只对open按钮监听一次

}catch (Exception e){

e.printStackTrace ();

}

}

}

}

});

save.addActionListener (new ActionListener (){ //设置对“保存”按钮的监听

public void actionPerformed (ActionEvent arg1){

if (arg1.getSource () == save){ //如果按钮的事件是"save"按钮的话,则发生以下事件

Writer writer = null ; //用字符流写入内容,避免中文乱码

String path = text.getText (); //通过文本区,取得文件路径

File file = new File (path); //得到写入文件的路径

try {

writer = new FileWriter (file); //实例化字符流对象

}catch (Exception e){

e.printStackTrace ();

}

try {

String str = area.getText (); //得到文本域的字符串对象

writer.write (str); //为文件写入内容

writer.close (); //关闭数据流

}catch (Exception e){

e.printStackTrace ();

}

}

}

});

frame.setSize (500,500); //设置窗体大小

frame.setVisible (true); //设置窗体可见性

}

}

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值