java 文件基本操作 读写操作

本文介绍了一个简单的文件操作示例程序,该程序允许用户通过输入文件路径来打开并编辑文件内容,最后保存更改。程序使用Java编写,涉及Applet、文本框、按钮等组件。

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

   编写应用程序,界面如图8.8所示。当用户在第一个文本框内填入文件的路径后单击“打开文件”按钮,文件的内容显示在下面的文本区域内,在文本区域内对文件做出修改后,单击“存储文件”按钮,则可以将文件存入原来的文件名中。




代码

import java.applet.Applet;
import java.awt.Button;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

@SuppressWarnings("serial")
public class wenjiandemo extends Applet {
	   Label namel;
	   TextField nametf;
	   Button openbtn,savebtn;
	   TextArea  saveta;
	   Panel p1,p2,p3,p4;
	   public void init()
	   {
		   namel=new Label("文件名");
		   nametf=new TextField(10);
		   openbtn=new Button("打开文件");
		   savebtn=new Button("存储文件");
		   saveta=new TextArea(15,15);
		   p1=new Panel();
		   p1.add(namel);
		   add(p1);
		   p2=new Panel();
		   p2.add(nametf);
		   add(p2);
		   p3=new Panel();
		   p3.add(openbtn);
		   p3.add(savebtn);
		   add(p3);
		   p4=new Panel();
		   p4.add(saveta);
		   add(p4);
		   savebtn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				byte out[] ;
				try {
					String str1 = saveta.getText();//获取文件名
				
			               out=str1.getBytes();//转换字节存储缓冲区
			      
					FileOutputStream fout = new FileOutputStream(nametf.getText()); 
					
						fout.write(out,0,out.length);//写数据 
						 System.out.println(fout);
						fout.flush();//清空流
						fout.close();//记得关闭流

				}  catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		});
		   openbtn.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e1) {
				// TODO Auto-generated method stub
			
				String path = nametf.getText();
	                          File ff = new File(path);
					try {
						saveta.setText("");//清空
			        byte buf[] = new byte[1024];//字节缓存区
				FileInputStream fileIn = new FileInputStream(ff); //数据读流
				int bytes = fileIn.read(buf,0,buf.length);//开始一个字节字节的读取数据
				String inStr = new String(buf,0,bytes);//把字节转换成字符串
			              //输出文件内容
				saveta.setText(inStr);//显示在文本域
					} catch (Exception e11) {
						// TODO: handle exception
					}
				}
		});
	   }
}

布局不是很好看,仅供参考效果图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值