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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filemanagerjframe.java

?? 《Java2程序設計實用教程(第2版)》課件
?? JAVA
字號:
//【例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(".","");                       //創建表示當前目錄的文件對象
        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();                                    //調用自定義方法,添加菜單

        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("打開");   //創建菜單項
        menu_file.add(menuitem_open);                      //菜單項加入到菜單
        menuitem_open.addActionListener(this);             //為菜單項注冊單擊事件監聽器

        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文件內容復制file文件中,重寫方式
        try
        {
            FileInputStream  fin = new FileInputStream(file);        //創建文件輸入流對象
            FileOutputStream  fout = new FileOutputStream(file2);    //創建文件輸出流對象
            byte[] buffer = new byte[512];                           //字節緩沖區
            int count=0;
            do
            {
                count = fin.read(buffer);                  //讀取輸入流
                if (count != -1)
                    fout.write(buffer);                    //寫入輸出流
            }while (count!=-1);
            fin.close();                                   //關閉輸入流
            fout.close();                                  //關閉輸出流
            
            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);        //重新設置列表框中的數據項
        }

        if(e.getActionCommand()=="打開")                   //單擊菜單項時
        {
            int i = this.list_files.getSelectedIndex();    //返回列表框第1個選中數據項的序號,從0開始;沒有選中時返回-1
            if (i!=-1)
                if (this.files[i].isFile())
                {
                    String fname = (String)this.list_files.getSelectedValue();   //返回列表框第1個選中數據項的值;沒有選中時返回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();                    //創建目錄
                    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 += "現有文件長度為 "+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);             //為菜單項注冊單擊事件監聽器
        popupmenu.add(menuitem_open);                       //加入剪切菜單項//菜單項加入到菜單

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

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

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);    //重新設置列表框中的數據項
        }


*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一本到| 国产乱妇无码大片在线观看| 欧美国产精品一区| 久久综合一区二区| 欧美成人一区二区三区片免费| 欧美日韩黄视频| 欧美日韩精品电影| 欧美日韩精品系列| 欧美欧美欧美欧美首页| 欧美日韩高清影院| 欧美日韩国产综合一区二区| 欧美影院精品一区| 成人黄色777网| 99re亚洲国产精品| 在线不卡一区二区| 日韩视频一区二区在线观看| 精品久久久久久久久久久久久久久 | 亚洲国产精品久久人人爱| 亚洲精品老司机| 亚洲午夜久久久久久久久电影网 | 精品国产1区二区| 日本一区二区免费在线观看视频| 亚洲欧洲av另类| 香蕉乱码成人久久天堂爱免费| 日韩精品一级中文字幕精品视频免费观看 | 国产精品国产三级国产普通话三级| 国产精品女主播av| 午夜私人影院久久久久| 极品少妇xxxx精品少妇偷拍| 丁香婷婷综合激情五月色| 99久久久精品| 欧美v亚洲v综合ⅴ国产v| 国产精品人人做人人爽人人添| 亚洲欧美偷拍三级| 麻豆国产91在线播放| 成人18精品视频| 欧美一区二区三区四区久久| 国产视频一区二区三区在线观看| 亚洲精品午夜久久久| 国产乱子伦视频一区二区三区 | 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品不卡一区二区三区| 免费人成精品欧美精品| av在线不卡网| 精品国产3级a| 秋霞国产午夜精品免费视频| 99久久精品一区| 国产欧美久久久精品影院| 欧美国产亚洲另类动漫| 欧美电视剧免费全集观看| 日本黄色一区二区| 亚洲综合在线五月| 国产欧美一区二区三区鸳鸯浴| va亚洲va日韩不卡在线观看| 在线免费观看日韩欧美| 国产亚洲精品bt天堂精选| 亚洲国产一区二区三区青草影视| 成人av免费在线观看| 精品福利一二区| 免费av网站大全久久| 在线视频一区二区三| 国产精品高潮久久久久无| 久久只精品国产| 国产精品高清亚洲| 成人性生交大合| 日韩免费高清视频| 欧美mv日韩mv亚洲| 欧美激情一区二区三区不卡| 久久精品国产77777蜜臀| 欧美精品在线观看播放| 国产免费久久精品| 欧美不卡一区二区三区四区| 久久午夜羞羞影院免费观看| 中文字幕av一区二区三区高| 97se亚洲国产综合自在线 | 国内精品视频一区二区三区八戒| 韩国精品一区二区| 久久综合精品国产一区二区三区 | 欧美日本在线视频| 亚洲国产综合色| 91精品久久久久久蜜臀| 日韩精彩视频在线观看| 日韩一区和二区| 看电视剧不卡顿的网站| 久久精品视频一区二区三区| 高清久久久久久| 欧美日韩在线直播| 一区二区三区在线不卡| 色综合久久久久综合体桃花网| 国产精品成人网| 欧美亚洲愉拍一区二区| 亚洲国产精品嫩草影院| 欧美va亚洲va在线观看蝴蝶网| 国产精品小仙女| 国产精品久久久久久户外露出| 91在线丨porny丨国产| 一区二区三区四区在线播放| 欧美色综合天天久久综合精品| 国产精品美女一区二区| 91九色最新地址| 日本欧美加勒比视频| 久久综合色综合88| 色综合久久88色综合天天6 | 欧美成va人片在线观看| 高清beeg欧美| 夜夜亚洲天天久久| 成人性色生活片免费看爆迷你毛片| 欧美一级专区免费大片| av电影一区二区| 日韩国产在线一| 亚洲欧洲av一区二区三区久久| 欧美久久婷婷综合色| 国产二区国产一区在线观看| 一区二区三区四区精品在线视频 | 久久青草国产手机看片福利盒子| 国产精品天干天干在线综合| 国产高清在线观看免费不卡| 中文字幕一区在线观看| 日韩午夜激情免费电影| 国产超碰在线一区| 一区二区在线电影| 日韩欧美中文字幕一区| 精品无人码麻豆乱码1区2区| 亚洲欧美综合色| 国产无遮挡一区二区三区毛片日本| 色女孩综合影院| 激情综合色综合久久| 亚洲不卡在线观看| 中文字幕在线观看一区| 欧美电影免费观看高清完整版在线 | 欧美日韩免费一区二区三区视频 | 亚洲午夜久久久久久久久电影院 | 91.麻豆视频| 91小视频免费观看| 风间由美一区二区三区在线观看 | 玉米视频成人免费看| 久久久久国产精品麻豆ai换脸| 欧美三级电影在线看| 91麻豆精品视频| 国产成人精品免费视频网站| 日本欧美一区二区| 亚洲成av人**亚洲成av**| 国产精品久久久久久久久免费桃花 | 在线观看欧美黄色| 粉嫩嫩av羞羞动漫久久久| 经典一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲成人动漫在线观看| 亚洲黄色av一区| 亚洲精品成人少妇| 一区二区三区在线看| 一区二区在线观看不卡| 亚洲黄色片在线观看| 亚洲欧美激情一区二区| 亚洲免费伊人电影| 一区二区理论电影在线观看| 国产视频一区不卡| 亚洲激情男女视频| 亚洲精品午夜久久久| 亚洲尤物在线视频观看| 亚洲综合偷拍欧美一区色| 一区二区三区中文字幕在线观看| 亚洲精品视频免费观看| 亚洲国产精品久久人人爱| 视频一区视频二区在线观看| 日韩成人av影视| 日欧美一区二区| 国产一区二区免费看| 成人黄色大片在线观看| 日本乱码高清不卡字幕| 欧美欧美欧美欧美| 久久综合中文字幕| 亚洲摸摸操操av| 午夜精品久久久久久久| 久久国产精品区| 播五月开心婷婷综合| 欧美日韩国产一级片| 久久综合色综合88| 国产精品高潮呻吟久久| 久久久精品欧美丰满| 国产精品久久久久久亚洲毛片 | 久久99国产精品久久99| 风间由美性色一区二区三区| 91美女视频网站| 国产精品丝袜黑色高跟| 亚洲精品成人a在线观看| 久久精品国产一区二区三区免费看| 国产在线精品一区二区不卡了 | 久久免费视频一区| 亚洲久本草在线中文字幕| 久久精品国内一区二区三区| 丁香五精品蜜臀久久久久99网站| 精品视频在线看| 国产精品美女久久久久久久久 | 激情久久五月天| 日本乱人伦aⅴ精品| 欧美激情一区在线| 亚洲成人激情av| 成人av免费在线| 日韩欧美美女一区二区三区|