没有合适的资源?快使用搜索试试~ 我知道了~
本替换几乎是所有文本编辑器都支持的功能,但是要限制在编辑其中才可以执行该功能。本实例实现了制定文本文件的内容替换,并且不需要再编辑其中打开文本文件
资源推荐
资源详情
资源评论
java实现查找文本内容替换功能示例实现查找文本内容替换功能示例
本替换几乎是所有文本编辑器都支持的功能,但是要限制在编辑其中才可以执行该功能。本实例实现了制定文
本文件的内容替换,并且不需要再编辑其中打开文本文件
思路:
先看视图层,要有一个JButton控件用来选择文件,一个JTextField控件显示选中文件的绝对路径,一个JLabel控件提示用户输
入搜索文本,一个JLabel控件提示用户输入替换后的文本,一个JTextField标签供用户输入要搜索的文本,一个JTextField标
签供用户输入替换后的文本,一个JButton控件执行替换,一个JButton控件用来打开修改后的文件。
对于选择文件按钮,使用JButton类的addActionListener()方法为其绑定事件,在该事件中定义actionPerformed()函数,
在该函数体中调用选择文件的方法。
在选择文件方法中,首先创建JFileChooser文件选择器,使用JFileChooser类的setFileFilter()方法创建文件扩展名过滤器,
再使用JFileChooser类的setFileSelectionMode()方法设置文件选择模式为文件,通过JFileChooser类的
showOpenDialog()方法显示文件打开对话框,确定用户按下打开按钮,而非取消按钮后,通过JFileChooser类的
getSelectedFile()方法获取用户选择的文件对象,使用JTextField类的setText()方法显示文件信息到文本框。
对于替换按钮,同选择文件按钮,使用JButton类的addActionListener()方法为其绑定事件,在该事件中定义
actionPerformed()函数,在该函数体中调用替换文本的方法。
在替换文本方法中,首先使用TextField类的getText()方法获取要搜索的文本和要替换成的文本,若搜索文本不为空则尝试创
建FileReader文件输入流和char缓冲字符数组以及StringBuilder字符串构建器,在while()循环中使用FileReader类的read()
方法读取文件内容到字符串构建器,读取完毕后使用FileReader类的close()方法关闭输入流,使用StringBuilder类的
replace()方法从构建器中生成字符串,并替换搜索文本,然后创建FileWriter文件输出流,使用FileWriter类的write()方法
把替换完成的字符串写入文件内,然后使用FileWriter类的close()方法关闭输出流,然后依次捕获FileNotFoundException异常
和IOException异常,最后使用JOptionPane类的showMessageDialog()方法提示用户替换完成。
对于打开文件按钮,使用JButton类的addActionListener()方法为其绑定事件,在该事件中定义actionPerformed()函数,
在该函数体中调用打开文件的方法。
在打开文件方法中尝试使用 Desktop.getDesktop().edit(file);,并捕获IOException异常。
代码如下:
复制代码 代码如下:
import java.awt.BorderLayout;
public class ReplaceFileText extends JFrame {
/**
*
*/
private static final long serialVersionUID = 8674569541853793419L;
private JPanel contentPane;
private JTextField fileField;
private JTextField searchTextField;
private JTextField replaceTextField;
private File file;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ReplaceFileText frame = new ReplaceFileText();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ReplaceFileText() {
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
资源评论
weixin_38617615
- 粉丝: 6
- 资源: 1017
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功