📄 filetest.java
字号:
/*************************************************************************/* File.java -- Tests File class/*/* Copyright (c) 1998 Free Software Foundation, Inc./* Written by Aaron M. Renn (arenn@urbanophile.com)/*/* This program is free software; you can redistribute it and/or modify/* it under the terms of the GNU General Public License as published /* by the Free Software Foundation, version 2. (see COPYING)/*/* This program is distributed in the hope that it will be useful, but/* WITHOUT ANY WARRANTY; without even the implied warranty of/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the/* GNU General Public License for more details./*/* You should have received a copy of the GNU General Public License/* along with this program; if not, write to the Free Software Foundation/* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA/*************************************************************************/import java.io.*;public class FileTest{static PrintWriter pw;public static voiddumpFile(File f) throws IOException{ pw.println("Name: " + f.getName()); pw.println("Parent: " + f.getParent()); pw.println("Path: " + f.getPath()); pw.println("Absolute: " + f.getAbsolutePath()); pw.println("Canonical: " + f.getCanonicalPath()); pw.println("String: " + f.toString());}public static voiddeleteTempDirs() throws IOException{ File f = new File("tempfiletest/tmp/tmp"); if (!f.delete()) throw new IOException("Could not delete " + f.getPath()); f = new File("tempfiletest/tmp"); if (!f.delete()) throw new IOException("Could not delete " + f.getPath()); f = new File("tempfiletest/"); if (!f.delete()) throw new IOException("Could not delete " + f.getPath());}public static void main(String[] argv){ System.out.println("Started test of File"); // This test writes a bunch of things to a file. That file should // be "diff-ed" against one generated when this test is run against // the JDK java.io package. System.out.println("Test 1: Path Operations Test"); try { pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("./file-test.out"))); dumpFile(new File("/")); dumpFile(new File("~arenn/foo")); dumpFile(new File("foo")); dumpFile(new File("../../../jcl/")); dumpFile(new File("/tmp/bar.txt")); dumpFile(new File("/usr")); dumpFile(new File("../..")); pw.flush(); File f = new File("gimme"); if (f.isAbsolute()) throw new IOException("isAbsolute() failed"); f = new File("/etc/services"); if (!f.isFile()) throw new IOException("isFile() failed"); pw.println("length: " + f.length()); pw.println("lastModified: " + f.lastModified()); pw.println("hashCode: " + f.hashCode()); f = new File("/etc/"); if (!f.isDirectory()) throw new IOException("isDirectory() failed"); pw.close(); System.out.println("PASSED: Conditionally Passed Path Operations Test"); } catch(IOException e) { System.out.println("FAILED: Path Operations Test: " + e); pw.close(); } System.out.println("Test 2: File/Directory Manipulation Test"); try { File f = new File("filetest"); if (!f.exists()) throw new IOException("The filetest directory doesn't exist"); String[] filelist = f.list(); if ((filelist == null) || (filelist.length != 3)) throw new IOException("Failed to read directory list"); for (int i = 0; i < filelist.length; i++) System.out.println(filelist[i]); System.out.println("Listing /etc/"); f = new File("/etc/"); filelist = f.list(); for (int i = 0; i < filelist.length; i++) System.out.println(filelist[i]); f = new File("tempfiletest/tmp/tmp"); if (!f.mkdirs()) throw new IOException("Failed to create directories: " + f.getPath()); deleteTempDirs(); f = new File("tempfiletest/tmp/tmp/"); if (!f.mkdirs()) throw new IOException("Failed to create directories: " + f.getPath()); deleteTempDirs(); //f = File.createTempFile("tempfile#old", new File(".")); f = new File("000000"); if (!f.renameTo(new File("tempfiletemp"))) throw new IOException("Failed to rename file: " + f.getPath()); if (!f.delete()) throw new IOException("Failed to delete file: " + f.getPath()); System.out.println("PASSED: File/Directory Manipulation Test"); } catch(IOException e) { System.out.println("FAILED: File/Directory Manipulation Test: " + e); } System.out.println("Test 3: Read/Write Permissions Test"); try { if ((new File("/")).canWrite() == true) throw new IOException("Permission to write / unexpectedly"); if ((new File("/etc/services")).canRead() == false) throw new IOException("No permission to read /etc/services"); System.out.println("PASSED: Read/Write Permissions Test"); } catch (IOException e) { System.out.println("FAILED: Read/Write Permissions Test: " + e); } System.out.println("Test 4: Name Comparison Tests"); try { File f1, f2; f1 = new File("/etc/"); f2 = new File("/etc/"); if (!f1.equals(f2)) throw new IOException(f1 + " " + f2); f2 = new File("/etc"); if (f1.equals(f2)) throw new IOException(f1 + " " + f2);/* f1 = new File("a"); f2 = new File("b"); if (f1.compareTo(f2) >= 0) throw new IOException(f1 + " " + f2); f1 = new File("z"); f2 = new File("y"); if (f1.compareTo(f2) <= 0) throw new IOException(f1 + " " + f2); f1 = new File("../../jcl/"); f2 = new File(".././.././jcl/."); if (f1.compareTo(f2) != 0) throw new IOException(f1 + " " + f2);*/ System.out.println("PASSED: Name Comparison Tests"); } catch (IOException e) { System.out.println("FAILED: Name Comparison Tests: " + e); } System.out.println("Finished test of File");}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -