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 */ FileNotFoundException()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 */ FileNotFoundException(String s)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 */ FileNotFoundException(String path, String reason)76 private FileNotFoundException(String path, String reason) { 77 super(path + ((reason == null) 78 ? "" 79 : " (" + reason + ")")); 80 } 81 82 } 83