Java文件(io)编程——简易记事本开发

  1 public class NotePad extends JFrame implements ActionListener{
  2 
  3     //定义需要的组件
  4     JTextArea jta=null;                    //多行文本框
  5     
  6     JMenuBar jmb=null;                     //菜单条
  7     JMenu jm1=null;                        //菜单
  8     JMenuItem jmi1=null,jmi2=null;         //菜单项
  9     
 10     public static void main(String[] args) {
 11         NotePad np=new NotePad();
 12 
 13     }
 14     
 15     public NotePad(){                     //构造函数
 16         
 17         jta=new JTextArea();              //创建jta
 18         jmb=new JMenuBar();
 19         jm1=new JMenu("文件");
 20         jm1.setMnemonic('F');             //设置助记符
 21         
 22         jmi1=new JMenuItem("打开",new ImageIcon("imag_3.jpg"));    
 23         jmi1.addActionListener(this);     //注册监听
 24         jmi1.setActionCommand("open");
 25 
 26         jmi2=new JMenuItem("保存");
 27         jmi2.addActionListener(this);
 28         jmi2.setActionCommand("save");
 29         
 30         this.setJMenuBar(jmb);            //加入
 31         
 32         jmb.add(jm1);                     //把菜单放入菜单条
 33         
 34         jm1.add(jmi1);                    //把item放入到Menu中
 35         jm1.add(jmi2);
 36         
 37         this.add(jta);                   //放入到JFrame
 38         
 39         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 40         this.setSize(400,300);
 41         this.setTitle("记事本");
 42         this.setIconImage((new ImageIcon("imag_2.jpg")).getImage());
 43         this.setVisible(true);
 44     }
 45 
 46     @Override
 47     public void actionPerformed(ActionEvent arg0) {
 48         //判断是哪个菜单被选中
 49         if(arg0.getActionCommand().equals("open")){
 50             
 51             //JFileChooser,创建一个文件选择组件
 52             JFileChooser jfc1=new JFileChooser();
 53             jfc1.setDialogTitle("请选择文件……");  //设置名字
 54             
 55             jfc1.showOpenDialog(null);           //默认方式
 56             jfc1.setVisible(true);               //显示
 57             
 58             //得到用户选择的文件全路径
 59             String filename=jfc1.getSelectedFile().getAbsolutePath();
 60             
 61             FileReader fr=null;
 62             BufferedReader br=null;
 63             
 64             try {
 65                 fr=new FileReader(filename);
 66                 br=new BufferedReader(fr);
 67             
 68                 //从文件中读取信息并显示到jta
 69                 String s="";
 70                 String allCon="";
 71                 while((s=br.readLine())!=null){   //循环读取文件,s不为空即还未读完毕     
 72                     allCon+=s+"\r\n";
 73                 } 
 74 
 75                 jta.setText(allCon);              //放置到jta
 76             
 77             } catch (Exception e) {
 78                 e.printStackTrace();
 79             }finally{
 80                 
 81                 try {
 82                     fr.close();
 83                     br.close();
 84                 } catch (Exception e) {
 85                     e.printStackTrace();
 86                 }
 87             }    
 88         }else if(arg0.getActionCommand().equals("save")){
 89             //出现保存对话框
 90             JFileChooser jfc2=new JFileChooser();
 91             jfc2.setDialogTitle("另存为……");
 92             jfc2.showSaveDialog(null);                //按默认的方式显示
 93             jfc2.setVisible(true);
 94             
 95             //得到用户希望把文件保存到何处,文件全路径
 96             String filename2=jfc2.getSelectedFile().getAbsolutePath();
 97             
 98             //准备写入到指定文件
 99             FileWriter fw=null;
100             BufferedWriter bw=null;
101             
102             try {
103                 fw=new FileWriter(filename2);
104                 bw=new BufferedWriter(fw);
105                 
106                 bw.write(this.jta.getText());
107             } catch (Exception e) {
108                 e.printStackTrace();
109             }finally{
110                 try {
111                     bw.close();
112                 } catch (IOException e) {
113                     e.printStackTrace();
114                 }
115             }
116         }
117     }
118 }

运行效果如下:

点击文件按钮,点击打开菜单项,选择一个文本文件,效果如下:

打开后,内容显示如下:

对内容稍作修改,另存为名为sss的文件,效果如下:

转载于:https://www.cnblogs.com/cxq1126/p/7347894.html

好的,我可以为你介绍一下如何使用 Java 编写程序实现文件拷贝。 Java 提供了非常方便的 I/O 类来处理文件读写操作。文件拷贝的基本思路是读取源文件中的数据,然后将数据写入到目标文件中。下面是一个简单的文件拷贝程序示例: ```java import java.io.*; public class FileCopy { public static void main(String[] args) throws IOException { // 源文件路径 String srcFilePath = "C:/temp/source.txt"; // 目标文件路径 String destFilePath = "C:/temp/dest.txt"; // 创建输入流和输出流 FileInputStream fis = new FileInputStream(srcFilePath); FileOutputStream fos = new FileOutputStream(destFilePath); // 定义缓冲区,每次读取 1024 个字节 byte[] buffer = new byte[1024]; int len; // 循环读取源文件中的数据,并将数据写入到目标文件中 while ((len = fis.read(buffer)) != -1) { fos.write(buffer, 0, len); } // 关闭输入流和输出流 fis.close(); fos.close(); System.out.println("文件拷贝完成!"); } } ``` 在上面的示例中,我们首先定义了源文件路径和目标文件路径。然后创建了输入流和输出流,用于读取源文件和向目标文件写入数据。我们定义了一个缓冲区,每次从输入流中读取 1024 个字节,并将这些字节写入到输出流中。最后,我们关闭输入流和输出流,并输出一条完成信息。 需要注意的是,上面的代码中使用了 try-catch 语句来捕获可能出现的 IOException 异常。这是因为在文件读写过程中可能会出现异常,比如文件不存在、文件无法读取等等。为了保证程序的健壮性,我们需要使用 try-catch 语句来处理这些异常。 希望这个简单的示例可以帮助你了解如何使用 Java 编写文件拷贝程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值