java 如何不重复创建类,关于Java里面File类创建txt文件重复如何解决

本文介绍了Java中使用File类进行文件读写操作,以及如何为JButton添加事件监听器来实现‘写入文件’和‘读取文件’功能。通过示例代码展示了在用户界面中,如何在点击按钮时读取和写入文本到word.txt文件,同时澄清了File类创建文件的实质并非真正创建,而是创建文件对象的缓存。
摘要由CSDN通过智能技术生成

private JButton getOpenButton() {

if (openButton == null) {

openButton = new JButton();

openButton.setText("写入文件");

// 修改按钮的提示信息openButton.addActionListener(new java.awt.event.ActionListener() {

// 按钮的单击事件public void actionPerformed(ActionEvent e) {

// 创建文件对象File file = new File("word.txt");

try {

// 创建FileWriter对象FileWriter out = new FileWriter(file);

// 获取文本域中文本String s = jTextArea.getText();

out.write(s);

// 将信息写入磁盘文件out.close();

// 将流关闭

}

catch (Exception e1) {

e1.printStackTrace();

}

}

}

);

}

return openButton;

}

private JButton getCloseButton() {

if (closeButton == null) {

closeButton = new JButton();

closeButton.setText("读取文件");

// 修改按钮的提示信息closeButton.addActionListener(new java.awt.event.ActionListener() {

// 按钮的单击事件public void actionPerformed(ActionEvent e) {

File file = new File("word.txt");

// 创建文件对象try {

// 创建FileReader对象FileReader in = new FileReader(file);

char byt[] = new char[1024];

// 创建char型数组int len = in.read(byt);

// 将字节读入数组// 设置文本域的显示信息jTextArea.setText(new String(byt, 0, len));

in.close();

// 关闭流

}

catch (Exception e1) {

e1.printStackTrace();

}

}

}

);

}

return closeButton;

}

如上程序段,刚开始我都认为两个按键都重新创建了woed.txt文件,那么不是覆盖了吗?

实际上不是的,File类创建word.txt文件并不是真的创建,真要创建,要用file.creatNewfile()才行,实际上两个地方都new File("word.txt"),只是在磁盘内暂时创建了缓存而已。

而且因为第一个按键已经创建了,第二个就直接用它(名称一样)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值