文件读写工具简单实现(六)--写入按钮替换/修改指定行的内容

本文介绍了一种在Java中实现文件内容更新的方法,包括如何读取文件内容、替换指定行的内容,并将更改后的内容重新写回文件。此外,还提供了一个示例,展示了如何在进行文件内容更新之前通过弹窗询问用户确认。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写入文件有点复杂,我们要把其他输入框的内容更新到原来选的那行,还有更新至文件中,思路是:每一行的内容都不一样,要是一样还得考虑获取鼠标选择的行数,这就难了。

我这里文件内容的每一行都不一样,只要获取其他输入框的内容,替换到指定行中,然后在更新到文件里。


我们先写个方法,百度都有:

 /*
	  * 实现写入文件方法
	  * */
	 private void writeFile(File file, String content) {
		if (file == null || content == null) {
			return;
		}
		try {
			BufferedWriter writer = new BufferedWriter(new FileWriter(file));
			writer.write(content);
			writer.flush();
			writer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	 }


写入文件的方法,调用上面的方法,加起来就两句话(重点):

mTotalContent=mTotalContent.replace(sum, sumString);//替换内容
writeFile(mDestFile, mTotalContent);//写入文件中


写入按钮的实现,写入前考虑做个提示框是否确定修改:

		//写入操作
		btn_Button_xieru.addActionListener(new ActionListener() {
		 public void actionPerformed(ActionEvent e) {
			//获取RF和参数内容
				String getName = textField_name.getText();
				String getRF=textField_RF.getText();
				String getNumber=textField_number.getText();
				String sumString =getName+" ="+getRF+","+getNumber;
			 try{	
		//弹出确认框,是否确定执行	 
		int res=JOptionPane.showConfirmDialog(null, "将要修改为"+sumString+"是否继续", "是否继续", JOptionPane.YES_NO_OPTION);
		if(res==JOptionPane.YES_OPTION){ 
			System.out.println("选择是后执行的代码");    //点击“是”后执行这个代码块
			//打印出来的数值看对不对
			System.out.println("ROM="+ROM);//鼠标点击位置的行数
			System.out.println("getRF="+getRF);
			System.out.println("getNumber="+getNumber);
			System.out.println("sumString="+sumString);//修改后的内容
			System.out.println("sum="+sum);//需要替换的内容,从鼠标指定的位置获取的
			
			mTotalContent=mTotalContent.replace(sum, sumString);//替换
			writeFile(mDestFile, mTotalContent);//写入文件中
			System.out.println("mTotalContent="+mTotalContent);//需要替换的内容
			//更新后,大输入框继续显示更新后内容,好下次在执行一次写入操作
			if(mTotalContent!=null){
				int start=mTotalContent.indexOf(prefixStart)+prefixStart.length();//从某处开始
				int end=mTotalContent.indexOf(prefixEnd);//到某处结束
				String finalRes=mTotalContent.substring(start, end);//大输入框只显示文件内某处开始到结束的范围
//				System.out.print(finalRes);
				textArea.setText("");
				textArea.append(finalRes+"\n");//显示内容到大输入框中
			}
		
		}else{
		System.out.println("选择否后执行的代码");    //点击“否”后执行这个代码块
		} 

			}catch (Exception ex) {  
                ex.printStackTrace();  
            }	
	}	
   });









                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值