⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileviewer.java

📁 java对文件进行操作的例子
💻 JAVA
字号:
/** * 本程序创建一个包含TextArea区域的窗口,  * 在该区域中显示打开的文本文件的内容. **/import java.awt.*;import java.awt.event.*;import java.io.*;public class FileViewer extends Frame implements ActionListener {    String directory;  // 在FileDialog中显示的默认目录    TextArea textarea; // 显示文本文件的区域     // 构造函数: 打开一个文件浏览器    public FileViewer() { this(null, null); }    // 构造函数:显示当前目录下的文件    public FileViewer(String filename) { this(null, filename); }    // 构造函数:创建用来显示指定目录中的指定文件内容的FileViewer对象    public FileViewer(String directory, String filename) {        super();  // 创建框架	// 当用户请求时销毁窗口	addWindowListener(new WindowAdapter() {		public void windowClosing(WindowEvent e) { dispose(); }	    });        // 创建一个用来显示文件内容的TextArea区域        textarea = new TextArea("", 24, 80);        textarea.setFont(new Font("MonoSpaced", Font.PLAIN, 12));        textarea.setEditable(false);        this.add("Center", textarea);        // 创建一个包含两个按钮控件的面板        Panel p = new Panel();        p.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 5));        this.add(p, "South");        // 创建按钮控件,并且处理单击按钮事件        Font font = new Font("SansSerif", Font.BOLD, 14);        Button openfile = new Button("打开文件");        Button close = new Button("关闭");        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.getProperty("user.dir");        }        this.directory = directory;   // 记住目录        setFile(directory, filename); // 载入并显示文件    }    //载入并且显示指定目录中的指定文件内容    public void setFile(String directory, String filename) {        if ((filename == null) || (filename.length() == 0)) return;        File f;        FileReader in = null;        // 读取并且显示文件内容  Since we're reading text, we        // 因为是在读取文本,所以使用FileReader,而不使用FileInputStream.        try {            f = new File(directory, filename); // 创建一个file对象            in = new FileReader(f);            // 和一个用来读取它的字符流            char[] buffer = new char[4096];    // 每次读取4K字符            int len;                           // 每次读入的字符数            textarea.setText("");              // 清除文本区域            while((len = in.read(buffer)) != -1) { // 读取一批字符                String s = new String(buffer, 0, len); // 转化为一个字符串                textarea.append(s);                    // 显示文本            }            this.setTitle("FileViewer: " + filename);  // 设置窗口标题            textarea.setCaretPosition(0);              // 设置文件起始位置        }        // 显示错误信息        catch (IOException e) {             textarea.setText(e.getClass().getName() + ": " + e.getMessage());            this.setTitle("FileViewer: " + filename + ": I/O Exception");        }        // 关闭输入流        finally { try { if (in!=null) in.close(); } catch (IOException e) {} }    }    //处理单击按钮事件    public void actionPerformed(ActionEvent e) {        String cmd = e.getActionCommand();        if (cmd.equals("open")) {          // 如果用户单击了“打开”按钮            // 创建一个文件对话框,提示输入新的文件            FileDialog f = new FileDialog(this, "Open File", FileDialog.LOAD);            f.setDirectory(directory);       // 设置默认目录	    // 显示对话框并等待用户的输入            f.show();                                    directory = f.getDirectory();    // 记住新的默认目录            setFile(directory, f.getFile()); // 载入并显示选择            f.dispose();                     // 关闭对话框        }        else if (cmd.equals("close"))      // 如果用户单击了“关闭”按钮            this.dispose();                  //关闭窗口    }        //FileViewer可以被其他程序所使用    //也可以加上main()方法,成为一个独立程序.    static public void main(String[] args) throws IOException {        // 创建一个FileViewer对象        Frame f = new FileViewer((args.length == 1)?args[0]:null);        // 当FileViewer窗口关闭时,退出        f.addWindowListener(new WindowAdapter() {		public void windowClosed(WindowEvent e) { System.exit(0); }	    });        // 弹出一个窗口        f.show();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -