亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java實現目錄查找與文本閱讀

2019-11-17 04:10:12
字體:
來源:轉載
供稿:網友

1.實現文本閱讀

package AllAboutFile;

/**
 *
 * @author lucifer
 */

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


public class FileViewer extends Frame implements ActionListener{
     String directory;
     TextArea textarea;                                  //顯示文本內容的地方


     public FileViewer(){
          this(null,null);
     }
     public FileViewer(String filename){
          this(null,filename);
     }
     public FileViewer(String directory,String filename){
          super();
          addWindowListener(
               new WindowAdapter(){
                    public void WindowClosing(WindowEvent e){
                         dispose();
                    }
               }
          );
          //Create TextArea
          textarea = new TextArea("",24,80);
          textarea.setFont(new Font("Monospaced",Font.PLAIN,12));
          textarea.setEditable( false );
          this.add("Center",textarea);
          //Create Panel
          Panel p = new Panel();
          p.setLayout( new FlowLayout(FlowLayout.RIGHT,10,5) );
          this.add(p,"South");
          //Create Button
          Font font = new Font("SansSerif",Font.BOLD,14);
          Button OpenFile = new Button("Open File");
          Button Close = new Button("Close");
          OpenFile.addActionListener(this);
          OpenFile.setActionCommand("open");
          OpenFile.setFont(font);
          Close.addActionListener( this );
          Close.setActionCommand( "close" );
          Close.setFont( font );

          p.add( OpenFile );
          p.add( Close );

          this.pack();

          if(directory == null){
               File f;
               if((filename != null)&&(f = new File(filename)).isAbsolute()){
                    directory = f.getParent();
                    filename = f.getName();
               }
               else
                    directory = System.get          }

          this.directory = directory;
          setFile(directory,filename);
     }

     public void setFile(String directory,String filename){
          if((filename == null)||(filename.length() == 0)){
               return;
          }
          File f = new File(directory,filename);
          try{
               FileReader fr = new FileReader(f);
               char buffer[] = new char[4096];
               int len;
               textarea.setText( "" );
               //show text
               while((len = fr.read(buffer)) != -1){
                    String str = new String(buffer,0,len);
                    textarea.append( str );
               }
               this.setTitle( "FileViewer:" + filename );
               textarea.setCaretPosition( 0 );

               fr.close();
          }
          catch(Exception e){
               textarea.setText( e.getMessage() );
          }
     }

     public void actionPerformed(ActionEvent e){
          String cmd = e.getActionCommand();
          if(cmd.equals( "open" )){
               FileDialog fd = new FileDialog(this,"Select File",FileDialog.LOAD);
               fd.setDirectory( directory );

               fd.show();

               directory = fd.getDirectory();
               setFile(directory,fd.getFile());
               fd.dispose();
          }
          else if(cmd.equals( "close" )){
               this.dispose();
          }
     }

     static public void main(String[] args){
          Frame f = new FileViewer((args.length==1)?args[0]:null);
          f.addWindowListener(new WindowAdapter(){
               public void WindowClosed(WindowEvent e){
                    System.exit(0);
               }
            }
          );
          f.show();     
     }

}

 


2.目錄顯示與操作

package AllAboutFile;

/**
 *
 * @author lucifer
 */

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.text.DateFormat;
public class FileLister extends Frame implements ActionListener,ItemListener{
     private List list;
     private TextField details;
     private Panel buttons;
     private Button up,close;
     private File currentDir;
     private FilenameFilter filter;
     private String[] files;
     private DateFormat dateFormatter =
             DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);

     public FileLister(String directory,FilenameFilter filter){
          super("File Lister");
          this.filter = filter;

          addWindowListener(new WindowAdapter(){
               @Override
               public void windowClosing(WindowEvent e){
                    dispose();
               }
          });

          list = new List(12,false);
          list.setFont( new Font("MonoSpaced",Font.PLAIN,14) );
          list.addActionListener( this );
          list.addItemListener( this );

          details = new TextField();
          details.setFont( new Font("MonoSpaced",Font.PLAIN,12) );
          details.setEditable(false);

          buttons = new Panel();
          buttons.setLayout(new FlowLayout(FlowLayout.RIGHT,15,5));
          buttons.setFont( new Font("SansSerif",Font.BOLD,14) );
          up = new Button("Upper Directory");
          close = new Button("Close");
          up.addActionListener( this );
          close.addActionListener( this );

          buttons.add( up );
          buttons.add( close );

          this.add( list, "Center" );
          this.add( details, "North" );
          this.add( buttons , "South" );
          this.setSize( 500 , 350);

          listDirectory(directory);
     }

     public void listDirectory(String directory){
          File dir = new File(directory);
          if(!dir.isDirectory())
               throw new IllegalArgumentException("FileListener : no such firectory");

          files = dir.list( filter );

          java.util.Arrays.sort( files );

          list.removeAll();
          list.add( "[Up to Parent Directory]" );

          for(int i = 0;i < files.length; i++){
               list.add( files[i] );
          }
          this.setTitle( directory );
          details.setText( directory );

          currentDir = dir;
     }


     public void actionPerformed(ActionEvent ae){
          if(ae.getSource() == close)
               this.dispose();
          else if(ae.getSource() == up)
               up();
          else if(ae.getSource() == list){
               int i = list.getSelectedIndex();
               if( i == 0 )
                    up();
               else{
                    String name = files[i-1];
                    File f = new File(currentDir,name);
                    String fullname = f.getAbsolutePath();
                    if(f.isDirectory())
                         listDirectory(fullname);
                    else new FileViewer(fullname).show();
               }
          }
     }
     public void itemStateChanged(ItemEvent ie){
          int i = list.getSelectedIndex() - 1;
          if(i < 0)
               return;
          String filename = files[i];
          File f = new File(currentDir,filename);
          if(!f.exists())
               throw new IllegalArgumentException("FileLister : no such file or directory");

          String info = null;
          if(f.isDirectory())
               info += File.separator;
          info += " " + f.length() + " bytes ";
          info += dateFormatter.format( new java.util.Date(f.lastModified()) );
          if(f.canRead())
               info += " Read";
          if(f.canWrite())
               info += " Write";

          details.setText(info);
     }
    
     protected void up(){
          String parent = currentDir.getParent();
          if(parent == null)
               return;
          listDirectory(parent);
     }
    
     public static void usage(){
          System.out.println("Usage : java FileLister [directory_name] " +
                  "[-e file_extension]");
          System.exit( 0 );
     }

     public static void main(String[] args){
          FileLister f;
          FilenameFilter filter = null;
          String directory = null;

          for(int i = 0;i < args.length; i++){
               if(args[i].equals("-e")){
                    if(++i > args.length)
                         usage();
                    final String suffix = args[i];
                    filter = new FilenameFilter(){
                         public boolean accept(File dir,String name){
                              if(name.endsWith( suffix ))
                                   return true;
                              else
                                   return (new File(dir,name)).isDirectory();
                         }
                    };
               }
               else{
                    if(directory != null)
                         usage();
                    else directory = args[i];
               }
          }
          if(directory == null)
               directory = System.getProperty( "user.dir" );
          f = new FileLister(directory,filter);
          f.addWindowListener(new WindowAdapter(){
             @Override
             public void windowClosed(WindowEvent e){
                  System.exit(0);
             }
          });
          f.show();
     }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产一区久久久| 亚洲成人a**站| 国产欧美在线观看| 精品国产福利视频| 精品久久久久久| 亚洲国产精品一区二区三区| 欧美日韩免费看| 中文字幕欧美国内| 国产精品久久久久久亚洲调教| 伊人久久久久久久久久| 亚洲精品国产欧美| 国产一区二区动漫| 69久久夜色精品国产69乱青草| 欧美激情精品久久久久久| 91久久精品国产91久久| 欧美日韩另类视频| 久久久国产精品一区| 久久精品青青大伊人av| 91久久夜色精品国产网站| 亚洲欧美国产一区二区三区| 日韩av中文字幕在线| 亚洲一区二区三区香蕉| 在线电影中文日韩| 日韩电影中文字幕在线| 超碰91人人草人人干| 69av在线播放| 欧美一区第一页| 久久国产精品久久久久| 亚洲国产91色在线| 久久九九有精品国产23| 欧美极度另类性三渗透| 91国内免费在线视频| 久久久久久九九九| 中文字幕精品影院| 久久99久久99精品免观看粉嫩| 久久91亚洲精品中文字幕| 日韩亚洲欧美中文在线| 色在人av网站天堂精品| 日韩欧美在线中文字幕| 亚洲第一网站免费视频| 91精品国产综合久久香蕉的用户体验| 欧美日韩裸体免费视频| 国产日韩欧美日韩大片| 久久视频国产精品免费视频在线| 亚洲欧美综合区自拍另类| 亚洲国产精品人久久电影| 亚州欧美日韩中文视频| 在线看日韩欧美| 日本亚洲精品在线观看| www.99久久热国产日韩欧美.com| 亚洲美女av在线播放| 综合136福利视频在线| 国产91精品黑色丝袜高跟鞋| 国产国语刺激对白av不卡| 欧美视频一二三| 日韩精品在线观看网站| 欧美激情二区三区| 日韩欧美国产黄色| 日韩在线资源网| 成人福利视频在线观看| 亚洲精品欧美日韩专区| 97视频在线观看视频免费视频| 欧美性猛交xxxx免费看久久久| 欧美性猛交xxxx免费看| 欧美国产乱视频| 日韩成人在线免费观看| 久热精品视频在线| 大量国产精品视频| 91精品国产99久久久久久| 国产午夜精品视频免费不卡69堂| 久久久久中文字幕2018| 国产一区二中文字幕在线看| 欧美一级大片视频| 国产成+人+综合+亚洲欧洲| 久热精品视频在线观看| 国产日韩换脸av一区在线观看| 亚洲国产91色在线| 国内外成人免费激情在线视频| 亚洲免费电影在线观看| 日韩成人黄色av| 国产一区二区三区在线播放免费观看| 欧美日韩一区二区在线| 色综合91久久精品中文字幕| 日韩精品极品毛片系列视频| 欧美大尺度激情区在线播放| 中文精品99久久国产香蕉| 久久影视三级福利片| 亚洲欧美日韩天堂一区二区| 日韩欧美在线免费| 欧美大片欧美激情性色a∨久久| 欧美极品在线视频| 国产精品久久久久国产a级| 精品国产电影一区| 91黑丝高跟在线| 91久久精品美女| 日本精品视频在线观看| 国产精品盗摄久久久| 日韩精品视频在线免费观看| 欧美性猛交xxx| 日韩一区二区精品视频| 91在线精品视频| 欧美性猛交xxxx免费看久久久| 日韩av在线网址| 欧美一区二区三区精品电影| 日韩电影在线观看永久视频免费网站| 91av成人在线| 亚洲在线观看视频网站| 国产在线观看一区二区三区| 午夜精品久久久99热福利| 国内精品久久久久久影视8| 日本精品一区二区三区在线播放视频| 久久精品视频播放| 大胆人体色综合| 亚洲欧洲视频在线| 91精品成人久久| 国产日韩av高清| 亚洲国产美女久久久久| 亚洲aa在线观看| 国产精品久久久久久久久久久久| 欧美另类交人妖| 欧美日在线观看| 清纯唯美日韩制服另类| 2019亚洲日韩新视频| 91久久久国产精品| 精品久久久久久中文字幕| 欧美日韩国产一区中文午夜| 欧美二区在线播放| 91九色单男在线观看| 啪一啪鲁一鲁2019在线视频| 中文字幕亚洲综合久久筱田步美| 国产精品美女在线| 久久久久久免费精品| 91精品久久久久久久久久另类| 日本久久精品视频| 亚洲精品国产欧美| 欧美一区二区大胆人体摄影专业网站| 日本一区二区在线免费播放| 亚洲欧美国内爽妇网| 亚洲精品国产精品自产a区红杏吧| 亚洲成人a级网| 午夜精品久久久久久久久久久久久| 成人激情视频小说免费下载| 亚洲最新av在线| 欧美日韩一区二区在线| 日韩在线视频观看| 高清一区二区三区日本久| 日韩精品免费一线在线观看| 色综合久综合久久综合久鬼88| 国产精品露脸自拍| 2023亚洲男人天堂| 麻豆成人在线看| 九九热这里只有精品免费看| 久久久久国产精品免费| 亚洲高清av在线| 成人激情视频免费在线| 亚洲欧美综合另类中字| 97视频在线观看免费高清完整版在线观看| 51色欧美片视频在线观看| 国产精品稀缺呦系列在线| 亚洲日本欧美中文幕| 成人亲热视频网站| 丰满岳妇乱一区二区三区| 亚洲精品一区二区网址| 久久视频在线直播|