我在哪里可以找到所有Java(SE7)标准库类的列表,这些标准库类具有抛出EOFEException的方法?

我在哪里可以找到所有Java(SE7)标准库类的列表,这些标准库类具有抛出EOFEException的方法?,java,exception,java-7,ioexception,eofexception,Java,Exception,Java 7,Ioexception,Eofexception,我试图在一些客户机/服务器代码中追踪EOFException的源代码,但是使用的许多类都只有一些方法说它们抛出了IOException,而不是具体的EOFException。通常我只会查看堆栈跟踪,但我没有,也无法复制它。因此,有一个每个类的列表是很有帮助的,这些类都有抛出EOFException的方法,但我不知道如何找到这些信息 每个(标准)Java类(在我的例子中是SE7)都有抛出EOFEException的方法,是否都有相关的信息源?我试着继续阅读Javadocs,但没有结果 (我发现,至

我试图在一些客户机/服务器代码中追踪
EOFException
的源代码,但是使用的许多类都只有一些方法说它们抛出了
IOException
,而不是具体的
EOFException
。通常我只会查看堆栈跟踪,但我没有,也无法复制它。因此,有一个每个类的列表是很有帮助的,这些类都有抛出
EOFException
的方法,但我不知道如何找到这些信息

每个(标准)Java类(在我的例子中是SE7)都有抛出
EOFEException
的方法,是否都有相关的信息源?我试着继续阅读Javadocs,但没有结果

(我发现,至少,这确实提到了
eofeexception
。但还有更多吗?)

后记:既然找到答案的唯一方法似乎是检查源代码,那么我在提取的源代码(1.7.045)中搜索“
EOFEException
”。

编辑:在底部为JDK中的所有源代码添加了7.51的结果

在Java6.17中,这里是所有显式抛出
Java.io.EOFException
的类。具体而言,它是在每个源代码文件中找到
new\s+EOFException
的次数

java.io.DataInputStream.java: 8
java.io.ObjectInputStream.java: 6
java.io.RandomAccessFile.java: 8
java.util.zip.GZIPInputStream.java: 2
java.util.zip.InflaterInputStream.java: 1
java.util.zip.ZipFile.java: 1
java.util.zip.ZipInputStream.java: 1
这里还有一点信息:包含
catch\s*\(\s*EOFException
)的所有源代码文件:

java.io.ObjectInputStream.java: 1
java.util.zip.ZipInputStream.java: 1
请注意,没有标准的
java.*
异常类扩展
EOFEException
(不存在

extends\s+([a-z]+\.)*EOFException
java.*
源代码)中的任意位置

这是一个有限但有价值的起点。正如其他人所提到的,这可能会遗漏一些情况——当您只有源代码可供使用时,查找这些源代码将非常耗时。希望这些信息能帮助您走上正确的道路


以下是Java 7.51的结果,适用于JDK提供的所有源代码:

extends\s+([a-z]+\)*EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8
没有

catch\s*\(\s*EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8
new\s+EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8
编辑:在底部为JDK中的所有源代码添加了7.51的结果

在Java 6.17中,这里是所有显式抛出
Java.io.EOFException
的类。具体来说,它是在每个源代码文件中找到
new\s+EOFException
的次数

java.io.DataInputStream.java: 8
java.io.ObjectInputStream.java: 6
java.io.RandomAccessFile.java: 8
java.util.zip.GZIPInputStream.java: 2
java.util.zip.InflaterInputStream.java: 1
java.util.zip.ZipFile.java: 1
java.util.zip.ZipInputStream.java: 1
这里还有一点信息:包含
catch\s*\(\s*EOFException
)的所有源代码文件:

java.io.ObjectInputStream.java: 1
java.util.zip.ZipInputStream.java: 1
请注意,没有标准的
java.*
异常类扩展
EOFEException
(不存在

extends\s+([a-z]+\.)*EOFException
java.*
源代码)中的任意位置

这是一个有限但有价值的起点。正如其他人所提到的,这可能会遗漏一些情况——当您只有源代码可供使用时,查找这些源代码将非常耗时。希望这些信息能帮助您走上正确的道路


以下是Java 7.51的结果,适用于JDK提供的所有源代码:

extends\s+([a-z]+\)*EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8
没有

catch\s*\(\s*EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8
new\s+EOFEException

com.sun.imageio.plugins.gif.GIFImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl: 4
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector: 1
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDLoader: 2
java.io.ObjectInputStream: 1
java.util.zip.ZipInputStream: 1
com.sun.corba.se.impl.io.IIOPInputStream: 1
com.sun.imageio.plugins.png.PNGImageReader: 1
com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityManager: 1
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner: 1
java.io.DataInputStream: 8
java.io.ObjectInputStream: 6
java.io.RandomAccessFile: 8
java.util.zip.GZIPInputStream: 2
java.util.zip.InflaterInputStream: 1
java.util.zip.ZipFile: 1
java.util.zip.ZipInputStream: 1
javax.imageio.stream.ImageInputStreamImpl: 8

只有在假设代码创建并立即抛出一个EOFEException的情况下,您才能发现这一点。但以下操作也可能抛出一个EOFEException:

class Foo {
    ...
    public void iAmHarmless(Exception x) { if (x != null) throw x; }
    ...
 }
或者下面的方法如何,来击败一个极端的方法:

 class XYException extends EOFException { ... }
 class Foo {
     public void surprise() { throw new XYException().super(); }
 }

别开玩笑了——许多类的方法可能仅仅因为继承而抛出EOFEException只给出非常基类。但是必须考虑所有的子类。例如:代码> java .UTI.jar。JarInputStream < /Calp>

> p>你可以在代码创建并立即抛出EOFExExt的前提下找到它。但是FoLWOWEWON也可以抛出EOFExcExo:

class Foo {
    ...
    public void iAmHarmless(Exception x) { if (x != null) throw x; }
    ...
 }
或者下面的方法如何,来击败一个极端的方法:

 class XYException extends EOFException { ... }
 class Foo {
     public void surprise() { throw new XYException().super(); }
 }


别开玩笑了——许多类的方法可能仅仅因为继承而抛出EOFEException只提供非常基类。但是,必须考虑所有的子类。例如:代码> java .UTI.jar。JarInputStream < /Calp> < /P>下载核心java库的源代码,为它们创建一个项目,使用IDE选择的项目进行搜索。基本上任何流类都可以抛出这个。@ TIMB这是唯一的方法吗?e:javadoc,在这里没有帮助。下载核心java库的源代码,为它们创建一个项目,使用您选择的IDE在项目中进行搜索。基本上任何流类都可以抛出它。@TimB这是唯一的方法吗?看一看注意:javadoc,在这里没有帮助。(为什么您仍在使用Java 6?为什么使用旧版本的Java 6?:-)回答很好,不过不要投票,因为你没有说你是如何获得信息的。这遗漏了其他类中的许多方法,比如java.util.jar.jarInputStream在6.17中,在
java.util.jar.*
@aliteralmind中没有出现
EOFEException
的情况。当然,我想我会对以后阅读这篇文章的人彻底了解kages无论如何都不适用于我的情况(为什么您仍然使用Java 6?为什么您使用旧版本的Java 6?:-)回答很好,不过不要投票,因为你没有说你是如何获得信息的。这遗漏了其他类中的许多方法,比如java.util.jar.jarInputStream在6.17中,在
java.util.jar.*
@aliteralmind中没有出现
EOFEException
的情况。当然,我想我会对以后阅读这篇文章的人彻底了解kages不适用于我的情况。在这种情况下,Javadocs没有提到
EOFEException
的子类。您认为Java标准库的实现