home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / io / File.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  5.0 KB  |  257 lines

  1. package java.io;
  2.  
  3. import java.util.Vector;
  4.  
  5. public class File implements Serializable {
  6.    private String path;
  7.    public static final String separator = System.getProperty("file.separator");
  8.    public static final char separatorChar;
  9.    public static final String pathSeparator;
  10.    public static final char pathSeparatorChar;
  11.    private static final long serialVersionUID = 301077366599181567L;
  12.  
  13.    public File(String var1) {
  14.       if (var1 == null) {
  15.          throw new NullPointerException();
  16.       } else {
  17.          this.path = var1;
  18.       }
  19.    }
  20.  
  21.    public File(String var1, String var2) {
  22.       if (var2 == null) {
  23.          throw new NullPointerException();
  24.       } else if (var1 != null) {
  25.          if (var1.endsWith(separator)) {
  26.             this.path = var1 + var2;
  27.          } else {
  28.             this.path = var1 + separator + var2;
  29.          }
  30.       } else {
  31.          this.path = var2;
  32.       }
  33.    }
  34.  
  35.    public File(File var1, String var2) {
  36.       this(var1.getPath(), var2);
  37.    }
  38.  
  39.    public String getName() {
  40.       int var1 = this.path.lastIndexOf(separatorChar);
  41.       return var1 < 0 ? this.path : this.path.substring(var1 + 1);
  42.    }
  43.  
  44.    public String getPath() {
  45.       return this.path;
  46.    }
  47.  
  48.    public String getAbsolutePath() {
  49.       return this.isAbsolute() ? this.path : System.getProperty("user.dir") + separator + this.path;
  50.    }
  51.  
  52.    public String getCanonicalPath() throws IOException {
  53.       return this.isAbsolute() ? this.canonPath(this.path) : this.canonPath(System.getProperty("user.dir") + separator + this.path);
  54.    }
  55.  
  56.    public String getParent() {
  57.       int var1 = this.path.lastIndexOf(separatorChar);
  58.       if (var1 < 0) {
  59.          return null;
  60.       } else if (this.isAbsolute() && this.path.indexOf(separatorChar) == var1) {
  61.          return var1 < this.path.length() - 1 ? this.path.substring(0, var1 + 1) : null;
  62.       } else {
  63.          return this.path.substring(0, var1);
  64.       }
  65.    }
  66.  
  67.    private native boolean exists0();
  68.  
  69.    private native boolean canWrite0();
  70.  
  71.    private native boolean canRead0();
  72.  
  73.    private native boolean isFile0();
  74.  
  75.    private native boolean isDirectory0();
  76.  
  77.    private native long lastModified0();
  78.  
  79.    private native long length0();
  80.  
  81.    private native boolean mkdir0();
  82.  
  83.    private native boolean renameTo0(File var1);
  84.  
  85.    private native boolean delete0();
  86.  
  87.    private native boolean rmdir0();
  88.  
  89.    private native String[] list0();
  90.  
  91.    private native String canonPath(String var1) throws IOException;
  92.  
  93.    public boolean exists() {
  94.       SecurityManager var1 = System.getSecurityManager();
  95.       if (var1 != null) {
  96.          var1.checkRead(this.path);
  97.       }
  98.  
  99.       return this.exists0();
  100.    }
  101.  
  102.    public boolean canWrite() {
  103.       SecurityManager var1 = System.getSecurityManager();
  104.       if (var1 != null) {
  105.          var1.checkWrite(this.path);
  106.       }
  107.  
  108.       return this.canWrite0();
  109.    }
  110.  
  111.    public boolean canRead() {
  112.       SecurityManager var1 = System.getSecurityManager();
  113.       if (var1 != null) {
  114.          var1.checkRead(this.path);
  115.       }
  116.  
  117.       return this.canRead0();
  118.    }
  119.  
  120.    public boolean isFile() {
  121.       SecurityManager var1 = System.getSecurityManager();
  122.       if (var1 != null) {
  123.          var1.checkRead(this.path);
  124.       }
  125.  
  126.       return this.isFile0();
  127.    }
  128.  
  129.    public boolean isDirectory() {
  130.       SecurityManager var1 = System.getSecurityManager();
  131.       if (var1 != null) {
  132.          var1.checkRead(this.path);
  133.       }
  134.  
  135.       return this.isDirectory0();
  136.    }
  137.  
  138.    public native boolean isAbsolute();
  139.  
  140.    public long lastModified() {
  141.       SecurityManager var1 = System.getSecurityManager();
  142.       if (var1 != null) {
  143.          var1.checkRead(this.path);
  144.       }
  145.  
  146.       return this.lastModified0();
  147.    }
  148.  
  149.    public long length() {
  150.       SecurityManager var1 = System.getSecurityManager();
  151.       if (var1 != null) {
  152.          var1.checkRead(this.path);
  153.       }
  154.  
  155.       return this.length0();
  156.    }
  157.  
  158.    public boolean mkdir() {
  159.       SecurityManager var1 = System.getSecurityManager();
  160.       if (var1 != null) {
  161.          var1.checkWrite(this.path);
  162.       }
  163.  
  164.       return this.mkdir0();
  165.    }
  166.  
  167.    public boolean renameTo(File var1) {
  168.       SecurityManager var2 = System.getSecurityManager();
  169.       if (var2 != null) {
  170.          var2.checkWrite(this.path);
  171.          var2.checkWrite(var1.path);
  172.       }
  173.  
  174.       return this.renameTo0(var1);
  175.    }
  176.  
  177.    public boolean mkdirs() {
  178.       if (this.exists()) {
  179.          return false;
  180.       } else if (this.mkdir()) {
  181.          return true;
  182.       } else {
  183.          String var1 = this.getParent();
  184.          return var1 != null && (new File(var1)).mkdirs() && this.mkdir();
  185.       }
  186.    }
  187.  
  188.    public String[] list() {
  189.       SecurityManager var1 = System.getSecurityManager();
  190.       if (var1 != null) {
  191.          var1.checkRead(this.path);
  192.       }
  193.  
  194.       return this.list0();
  195.    }
  196.  
  197.    public String[] list(FilenameFilter var1) {
  198.       String[] var2 = this.list();
  199.       if (var2 == null) {
  200.          return null;
  201.       } else {
  202.          Vector var3 = new Vector();
  203.  
  204.          for(int var4 = 0; var4 < var2.length; ++var4) {
  205.             if (var1 == null || var1.accept(this, var2[var4])) {
  206.                var3.addElement(var2[var4]);
  207.             }
  208.          }
  209.  
  210.          String[] var5 = new String[var3.size()];
  211.          var3.copyInto(var5);
  212.          return var5;
  213.       }
  214.    }
  215.  
  216.    public boolean delete() {
  217.       SecurityManager var1 = System.getSecurityManager();
  218.       if (var1 != null) {
  219.          var1.checkDelete(this.path);
  220.       }
  221.  
  222.       return this.isDirectory() ? this.rmdir0() : this.delete0();
  223.    }
  224.  
  225.    public int hashCode() {
  226.       return this.path.hashCode() ^ 1234321;
  227.    }
  228.  
  229.    public boolean equals(Object var1) {
  230.       return var1 != null && var1 instanceof File ? this.path.equals(((File)var1).path) : false;
  231.    }
  232.  
  233.    public String toString() {
  234.       return this.getPath();
  235.    }
  236.  
  237.    private synchronized void writeObject(ObjectOutputStream var1) throws IOException {
  238.       var1.defaultWriteObject();
  239.       var1.writeChar(separatorChar);
  240.    }
  241.  
  242.    private synchronized void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  243.       var1.defaultReadObject();
  244.       char var2 = var1.readChar();
  245.       if (var2 != separatorChar) {
  246.          this.path = this.path.replace(var2, separatorChar);
  247.       }
  248.  
  249.    }
  250.  
  251.    static {
  252.       separatorChar = separator.charAt(0);
  253.       pathSeparator = System.getProperty("path.separator");
  254.       pathSeparatorChar = pathSeparator.charAt(0);
  255.    }
  256. }
  257.