Home | History | Annotate | Download | only in io
      1 /*
      2  * Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.
      3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
      4  *
      5  * This code is free software; you can redistribute it and/or modify it
      6  * under the terms of the GNU General Public License version 2 only, as
      7  * published by the Free Software Foundation.  Oracle designates this
      8  * particular file as subject to the "Classpath" exception as provided
      9  * by Oracle in the LICENSE file that accompanied this code.
     10  *
     11  * This code is distributed in the hope that it will be useful, but WITHOUT
     12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14  * version 2 for more details (a copy is included in the LICENSE file that
     15  * accompanied this code).
     16  *
     17  * You should have received a copy of the GNU General Public License version
     18  * 2 along with this work; if not, write to the Free Software Foundation,
     19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
     20  *
     21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
     22  * or visit www.oracle.com if you need additional information or have any
     23  * questions.
     24  */
     25 
     26 package java.io;
     27 
     28 
     29 /**
     30  * Signals that an attempt to open the file denoted by a specified pathname
     31  * has failed.
     32  *
     33  * <p> This exception will be thrown by the {@link FileInputStream}, {@link
     34  * FileOutputStream}, and {@link RandomAccessFile} constructors when a file
     35  * with the specified pathname does not exist.  It will also be thrown by these
     36  * constructors if the file does exist but for some reason is inaccessible, for
     37  * example when an attempt is made to open a read-only file for writing.
     38  *
     39  * @author  unascribed
     40  * @since   JDK1.0
     41  */
     42 
     43 public class FileNotFoundException extends IOException {
     44     private static final long serialVersionUID = -897856973823710492L;
     45 
     46     /**
     47      * Constructs a <code>FileNotFoundException</code> with
     48      * <code>null</code> as its error detail message.
     49      */
     50     public FileNotFoundException() {
     51         super();
     52     }
     53 
     54     /**
     55      * Constructs a <code>FileNotFoundException</code> with the
     56      * specified detail message. The string <code>s</code> can be
     57      * retrieved later by the
     58      * <code>{@link java.lang.Throwable#getMessage}</code>
     59      * method of class <code>java.lang.Throwable</code>.
     60      *
     61      * @param   s   the detail message.
     62      */
     63     public FileNotFoundException(String s) {
     64         super(s);
     65     }
     66 
     67     /**
     68      * Constructs a <code>FileNotFoundException</code> with a detail message
     69      * consisting of the given pathname string followed by the given reason
     70      * string.  If the <code>reason</code> argument is <code>null</code> then
     71      * it will be omitted.  This private constructor is invoked only by native
     72      * I/O methods.
     73      *
     74      * @since 1.2
     75      */
     76     private FileNotFoundException(String path, String reason) {
     77         super(path + ((reason == null)
     78                       ? ""
     79                       : " (" + reason + ")"));
     80     }
     81 
     82 }
     83