package com.hz.FileandIO; // 读文件的代码: import java.awt.BorderLayout; import java.awt.Container; import java.awt.ScrollPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class FileTest extends JFrame implements ActionListener ... { private JTextField enterField; private JTextArea outputArea; public FileTest() ...{ super("Testing class File."); enterField = new JTextField("Enter file or directory name here"); enterField.addActionListener(this); outputArea = new JTextArea(); ScrollPane scrollPane = new ScrollPane(); scrollPane.add(outputArea); Container container = getContentPane(); container.add(enterField, BorderLayout.NORTH); container.add(scrollPane, BorderLayout.CENTER); setSize(400,400); setVisible(true); } public void actionPerformed(ActionEvent actionEvent) ...{ //此方法创建一个新的File对象,并将该对象赋值给name File name = new File(actionEvent.getActionCommand()); //调用File的exists方法来判断用户输入的文件名或文件名是否存在 if(name.exists()) ...{ //isFile,isDirectory和isAbsolute方法检测File对象的结果 outputArea.setText(name.getName()+"exists "+ (name.isFile() ? "is a directory " : "is not a file ") + (name.isDirectory() ? "is adirectory " : "is not a directory ") + (name.isAbsolute() ? "is absolute path " : "is not a absolute") + "Last modified:" + //这个为 name.lastModified() + " Length; " + name.length() + " Path:" + name.getPath() + " Absolute path: " + name.getAbsolutePath() + " Length:" + name.getParent()); //判断如果是文件则执行下面方法。 if(name.isFile()) ...{ //BufferedReader 方法提供了读取行的方法但不知道如何打开一个用于输入的文件 BufferedReader input; try ...{ //FileReader方法用于打开文件它不知道读取文本行 input = new BufferedReader(new FileReader(name)); StringBuffer sb = new StringBuffer(); String text; outputArea.append(" "); //通过BufferReader类的readLine方法一次将一行文本读取为一个字符串。 while((text = input.readLine()) != null) sb.append(text + " "); outputArea.append(sb.toString()); } catch (FileNotFoundException e) ...{ // TODO 自动生成 catch 块 e.printStackTrace(); } catch (IOException io) ...{ // TODO 自动生成 catch 块 io.printStackTrace(); } } //如果是目录,则程序使用File类的list方法读取目录内容。 else if(name.isDirectory())...{ String directory[] = name.list(); outputArea.append(" Directory contents: "); for(int i=0;i<directory.length;i++) outputArea.append(directory[i] + " "); } } //文件名或目录名不存在 else...{ JOptionPane.showMessageDialog(this,actionEvent.getActionCommand() + "文件名或目录名不存在", "ERROR", JOptionPane.ERROR_MESSAGE); } } public static void main(String args[]) ...{ FileTest application = new FileTest(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }