亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? filemanagerjframe.java.bak

?? 《Java2程序設計實用教程(第2版)》課件
?? BAK
字號:
//【例9.8】  文件管理器和文本文件編輯器。

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class FileManagerJFrame extends JFrame implements ActionListener//, FilenameFilter
{
    private File dir;                                      //文件對象,表示指定目錄
    private File[] files;                                  //保存指定目錄中所有文件
    private JTextField text_dir;                           //地址欄,顯示目錄路徑
    private JList list_files;                              //列表框,顯示指定目錄中所有文件和子目錄

    public FileManagerJFrame()
    {
        super("文件管理器");
        this.setSize(400,300);
        this.setLocation(200,140);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        this.dir = new File(".","");                       //創(chuàng)建表示當前目錄的文件對象
        this.text_dir = new JTextField(this.dir.getAbsolutePath());  //顯示目錄路徑
        this.add(this.text_dir,"North");
        this.text_dir.addActionListener(this);
        
        this.files = this.dir.listFiles();                 //返回指定目錄中所有文件對象
        String[] filenames = this.dir.list();              //返回指定目錄中所有文件名字符串
        this.list_files = new JList(filenames);            //所有文件名字符串顯示在列表框中
        this.add(this.list_files);
        this.addMenu();                                    //調(diào)用自定義方法,添加菜單

        this.setVisible(true);
    }

    private void addMenu()                                 //添加主菜單
    {
        JMenuBar menubar = new JMenuBar();                 //菜單欄
        this.setJMenuBar(menubar);                         //框架上添加菜單欄

        JMenu menu_file = new JMenu("文件");               //菜單
        menubar.add(menu_file);                            //菜單欄中加入菜單
        JMenuItem menuitem_open = new JMenuItem("打開");   //創(chuàng)建菜單項
        menu_file.add(menuitem_open);                      //菜單項加入到菜單
        menuitem_open.addActionListener(this);             //為菜單項注冊單擊事件監(jiān)聽器

        JMenuItem menuitem_sendto = new JMenuItem("復制到C:\\備份");
        menu_file.add(menuitem_sendto);
        menuitem_sendto.addActionListener(this);

        JMenuItem menuitem_delete = new JMenuItem("刪除");
        menu_file.add(menuitem_delete);
        menuitem_delete.addActionListener(this);
    }

    public static void copyFile(File file, File file2)     //復制文件,適用于任意類型文件
    {                                                      //將file文件內(nèi)容復制file文件中,重寫方式
        try
        {
            FileInputStream  fin = new FileInputStream(file);        //創(chuàng)建文件輸入流對象
            FileOutputStream  fout = new FileOutputStream(file2);    //創(chuàng)建文件輸出流對象
            byte[] buffer = new byte[512];                           //字節(jié)緩沖區(qū)
            int count=0;
            do
            {
                count = fin.read(buffer);                  //讀取輸入流
                if (count != -1)
                    fout.write(buffer);                    //寫入輸出流
            }while (count!=-1);
            fin.close();                                   //關(guān)閉輸入流
            fout.close();                                  //關(guān)閉輸出流
            
            file2.setLastModified(file.lastModified());    //將新文件的修改時間設置為原文件的修改時間
        }
        catch (IOException ioex)
        {
            System.out.println("復制 "+file.getName()+" 文件未成功。");
            return;
        }
    }

/*
    public boolean accept(File dir, String filename)
    {
        filename = filename.toLowerCase();
        return (filename.startsWith(this.prefix)) & (filename.endsWith(this.extend));
    }
*/
    public void actionPerformed(ActionEvent e)             //單擊事件處理程序
    {
        if(e.getSource()==this.text_dir)                   //單擊文本行時
        {
            this.dir = new File(this.text_dir.getText());
            this.files = this.dir.listFiles();
            String[] filenames = this.dir.list();
            this.list_files.setListData(filenames);        //重新設置列表框中的數(shù)據(jù)項
        }

        if(e.getActionCommand()=="打開")                   //單擊菜單項時
        {
            int i = this.list_files.getSelectedIndex();    //返回列表框第1個選中數(shù)據(jù)項的序號,從0開始;沒有選中時返回-1
            if (i!=-1)
                if (this.files[i].isFile())
                {
                    String fname = (String)this.list_files.getSelectedValue();   //返回列表框第1個選中數(shù)據(jù)項的值;沒有選中時返回null
                    int j = fname.indexOf('.');
                    if (j>0)
                    {
                        String extend = fname.substring(j+1);        //獲得.之后的擴展名字符串
                        if (extend.equals("txt") || extend.equals("java"))
                            new TextFileEditorJFrame(this.files[i]); //打開文本文件編輯器
                        else
                            System.out.println("運行錯誤:不能打開這種類型文件。");
                    }
                }
                else
                {
                    this.dir = this.files[i];
                    this.files = this.dir.listFiles();
                    String[] filenames = this.dir.list();
                    this.list_files.setListData(filenames);
                }
        }
        
        if(e.getActionCommand()=="復制到C:\\備份")
        {
            int i = this.list_files.getSelectedIndex();
            if (i!=-1 && this.files[i].isFile())           //僅復制文件,不復制目錄
            {
                File dir_copyto = new File("C:\\備份",""); //指定復制到的目錄
                if (!dir_copyto.exists())                  //目錄不存在時
                {
                    dir_copyto.mkdir();                    //創(chuàng)建目錄
                    File f2 = new File(dir_copyto, this.files[i].getName());
                    this.copyFile(this.files[i], f2);      //復制文件
                }
                else                                       //目錄存在時
                {
                    File f2 = new File(dir_copyto, this.files[i].getName());
                    if (!f2.exists())                      //文件不存在時
                        this.copyFile(this.files[i], f2);
                    else                                   //文件存在時
                        if (this.files[i].lastModified() > f2.lastModified())
                            this.copyFile(this.files[i], f2); //待復制文件日期較新時復制
                }
            }
        }

        if(e.getActionCommand()=="刪除")
        {
            int i = this.list_files.getSelectedIndex();
            if (i!=-1)
            {
                this.files[i].delete();                    //刪除文件
                String[] filenames = this.dir.list();
                this.list_files.setListData(filenames);
            }
        }
    }

    public static void main(String arg[])
    {
        new FileManagerJFrame();
    }
}        

/*
程序設計說明如下。
1、 復制文件時未詢問,擬寫詢問對話框如下,未完成。

                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
                        String askstr = f2.getName()+"文件已存在。是否需要覆蓋?\r\n";
                        askstr += "現(xiàn)有文件長度為 "+f2.length()+"B,修改時間為"+sdf.format(new Date(f2.lastModified())))+"\r\n";
                        askstr += "替換文件長度為 "+this.files[i].length()+"B,修改時間為"+sdf.format(new Date(this.files[i].lastModified())))+"\r\n";

                        JDialog dialog = new JDialog(this,"詢問");
                        dialog.setSize(240,80);
                        dialog.add(new JLabel(askstr,JLabel.CENTER)); 
                        dialog.
                        dialog.setDefaultCloseOperation(EXIT_ON_CLOSE);

2、刪除文件未詢問。

3、刪除非空目錄,需要刪除指定目錄及其中所有文件和子目錄,未完成。

4、彈出式菜單未完成,部分程序如下。
    private void addPopupMenu()                               //添加主菜單、彈出式菜單、對話框
    {

        JPopupMenu popupmenu = new JPopupMenu();                      //彈出式菜單對象
        JMenuItem menuitem_open = new JMenuItem("打開");   //生成菜單項
        menuitem_open.addActionListener(this);             //為菜單項注冊單擊事件監(jiān)聽器
        popupmenu.add(menuitem_open);                       //加入剪切菜單項//菜單項加入到菜單

        JMenuItem menuitem_sendto = new JMenuItem("發(fā)送到");
        menuitem_sendto.addActionListener(this);
        popupmenu.add(menuitem_sendto);

        this.list_files.add(popupmenu);                           //文本區(qū)添加彈出式菜單
    }

5、"查看 | 向上一級"菜單未完成,程序如下。
        
        JMenu menu_view = new JMenu("查看");
        menubar.add(menu_view);
        JMenuItem menuitem_up = new JMenuItem("向上一級");
        menu_view.add(menuitem_up);
        menuitem_up.addActionListener(this);


        if(e.getActionCommand()=="向上一級")//??
        {
                this.dir = new File("../", this.dir.getName());
        this.text_dir.setText(this.dir.getAbsolutePath());  //顯示目錄路徑
                files = this.dir.listFiles();              //返回指定目錄中所有文件對象
                String[] filenames = this.dir.list();
                this.list_files.setListData(filenames);    //重新設置列表框中的數(shù)據(jù)項
        }


*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久加勒比精品| 在线一区二区三区四区| 亚洲伦在线观看| 91精品国产综合久久国产大片| 国产一区二区三区综合| 亚洲尤物在线视频观看| 亚洲国产高清不卡| 日韩欧美国产一区二区在线播放| 92国产精品观看| 久久aⅴ国产欧美74aaa| 亚洲另类一区二区| 国产视频一区在线播放| 欧美一区二区三区人| 91视频免费观看| 国产精品123| 蓝色福利精品导航| 亚洲超丰满肉感bbw| 亚洲私人黄色宅男| 中文字幕欧美日本乱码一线二线| 精品粉嫩超白一线天av| 中文字幕在线免费不卡| 精品国产伦理网| 91精品国产色综合久久不卡电影 | 欧美顶级少妇做爰| 91国产免费看| www.日本不卡| 成人免费视频免费观看| 国内精品在线播放| 久久成人免费日本黄色| 日韩精品一级中文字幕精品视频免费观看| 亚洲欧美一区二区三区孕妇| 国产日韩欧美一区二区三区综合| 精品久久久久久亚洲综合网| 日韩一区二区视频在线观看| 91麻豆精品国产91久久久使用方法 | 亚洲欧美另类久久久精品2019| 久久蜜桃av一区精品变态类天堂 | 日韩美女视频一区二区| 国产精品伦理一区二区| 国产精品人人做人人爽人人添| 国产偷国产偷亚洲高清人白洁| 久久久久久久电影| 久久久久久久综合狠狠综合| 国产偷v国产偷v亚洲高清| 久久九九久精品国产免费直播| 久久九九国产精品| 中文字幕 久热精品 视频在线 | 久久av资源网| 国产专区综合网| 国产精品996| 精品日韩一区二区| 欧美一区二区三区免费大片| 欧美变态tickle挠乳网站| 精品国产免费视频| 国产日本欧美一区二区| 国产精品女主播av| 亚洲日本在线a| 亚洲国产欧美在线| 日本不卡的三区四区五区| 精品一区二区三区视频| 国产成人免费视频精品含羞草妖精| 丰满白嫩尤物一区二区| jlzzjlzz亚洲日本少妇| 在线视频观看一区| 日韩一二三区不卡| 国产亚洲污的网站| 亚洲免费在线观看| 日韩精品成人一区二区在线| 久久精品二区亚洲w码| 国产成人精品一区二区三区网站观看| 国产91高潮流白浆在线麻豆| 色婷婷久久久久swag精品| 在线成人av影院| 久久这里只有精品6| 国产精品美女久久久久aⅴ| 亚洲国产一二三| 狠狠久久亚洲欧美| 色天天综合色天天久久| 日韩午夜av电影| 国产精品美女久久久久久2018| 一区二区三区成人| 国产激情精品久久久第一区二区| 91国模大尺度私拍在线视频| 久久理论电影网| 亚洲成人福利片| 国产精品一级片| 欧美日韩在线综合| 国产欧美精品区一区二区三区 | 天堂久久一区二区三区| 国产精品正在播放| 欧美欧美欧美欧美| 国产精品日韩成人| 久久精品国产第一区二区三区| 国产成人综合亚洲91猫咪| 欧美日韩aaaaaa| 国产精品国产三级国产普通话蜜臀| 免费成人深夜小野草| 99精品1区2区| 久久久久久麻豆| 免费观看久久久4p| 欧美午夜一区二区三区免费大片| 国产日韩v精品一区二区| 亚洲va欧美va人人爽午夜| 成人美女视频在线观看18| 91麻豆精品国产91| 一区二区三区四区蜜桃| 成人美女视频在线看| 久久午夜免费电影| 午夜精品久久久久久| 99视频一区二区三区| 久久精品在线免费观看| 日韩av电影免费观看高清完整版| 91美女视频网站| 国产精品少妇自拍| 国产精品综合视频| 欧美大肚乱孕交hd孕妇| 亚洲.国产.中文慕字在线| 99国产精品国产精品久久| 国产日本一区二区| 国产一区不卡视频| 精品福利视频一区二区三区| 美腿丝袜亚洲三区| 日韩一区二区三区四区| 日韩电影在线观看一区| 欧美色区777第一页| 亚洲自拍偷拍av| 一本色道久久加勒比精品| 国产精品对白交换视频| 福利视频网站一区二区三区| 精品日产卡一卡二卡麻豆| 奇米在线7777在线精品 | 欧美日韩国产天堂| 亚洲夂夂婷婷色拍ww47| 97超碰欧美中文字幕| 国产精品乱码久久久久久| 春色校园综合激情亚洲| 国产片一区二区| 成人午夜激情视频| 国产精品国产三级国产a| av中文一区二区三区| 亚洲婷婷综合色高清在线| 91丨九色丨黑人外教| 亚洲久本草在线中文字幕| 在线国产亚洲欧美| 亚洲一区二区欧美日韩| 欧美亚洲综合在线| 午夜精品久久久久久不卡8050| 欧美另类一区二区三区| 日本va欧美va精品发布| 精品成人在线观看| 高清av一区二区| 亚洲美女偷拍久久| 欧美日韩一级二级三级| 日韩中文字幕一区二区三区| 日韩女优av电影在线观看| 国产高清亚洲一区| 亚洲精品成人少妇| 日韩视频一区二区| 国产精品亚洲一区二区三区在线| 欧美韩国日本一区| 欧美日韩一区在线观看| 蜜桃视频第一区免费观看| 国产肉丝袜一区二区| 91麻豆免费视频| 日本一不卡视频| 久久精品视频在线看| 在线免费视频一区二区| 日韩黄色免费网站| 久久午夜免费电影| 色婷婷久久一区二区三区麻豆| 日韩精品一二三区| 精品粉嫩aⅴ一区二区三区四区| 本田岬高潮一区二区三区| 亚洲韩国一区二区三区| 精品日韩在线一区| 一本大道av伊人久久综合| 视频一区二区三区入口| 久久久久高清精品| 欧美日韩一区在线观看| 国产不卡免费视频| 午夜精品久久久久久久久| 国产三级精品在线| 9191成人精品久久| youjizz国产精品| 美腿丝袜亚洲三区| 一区二区三区在线视频观看58| 日韩欧美国产麻豆| 91在线免费视频观看| 麻豆国产91在线播放| 亚洲乱码一区二区三区在线观看| 日韩欧美电影一二三| 91高清视频在线| 丰满岳乱妇一区二区三区| 日本在线观看不卡视频| 亚洲免费电影在线| 久久亚洲欧美国产精品乐播| 欧美人牲a欧美精品| 不卡在线视频中文字幕| 国产一区二区调教| 免费久久99精品国产|