-
- All Known Subinterfaces:
-
AsynchronousByteChannel
,AsynchronousChannel
,BaseStream<T,S>
,ByteChannel
,CachedRowSet
,CallableStatement
,Channel
,Clip
,Closeable
,Connection
,DataLine
,DirectoryStream<T>
,DoubleStream
,ExecutionControl
,FilteredRowSet
,GatheringByteChannel
,ImageInputStream
,ImageOutputStream
,InterruptibleChannel
,IntStream
,JavaFileManager
,JdbcRowSet
,JMXConnector
,JoinRowSet
,Line
,LongStream
,MidiDevice
,MidiDeviceReceiver
,MidiDeviceTransmitter
,Mixer
,ModuleReader
,MulticastChannel
,NetworkChannel
,ObjectInput
,ObjectOutput
,Port
,PreparedStatement
,ReadableByteChannel
,Receiver
,ResultSet
,RMIConnection
,RowSet
,ScatteringByteChannel
,SecureDirectoryStream<T>
,SeekableByteChannel
,Sequencer
,SourceDataLine
,StandardJavaFileManager
,Statement
,Stream<T>
,SyncResolver
,Synthesizer
,TargetDataLine
,Transmitter
,WatchService
,WebRowSet
WebRowSet
,WritableByteChannel
- 所有已知实现类:
-
AbstractInterruptibleChannel
,AbstractSelectableChannel
,AbstractSelector
,AsynchronousFileChannel
,AsynchronousServerSocketChannel
,AsynchronousSocketChannel
,AudioInputStream
,BufferedInputStream
,BufferedOutputStream
,BufferedReader
,BufferedWriter
,ByteArrayInputStream
,ByteArrayOutputStream
,CharArrayReader
,CharArrayWriter
,CheckedInputStream
,CheckedOutputStream
,CipherInputStream
,CipherOutputStream
,DatagramChannel
,DatagramSocket
,DataInputStream
,DataOutputStream
,DeflaterInputStream
,DeflaterOutputStream
,DigestInputStream
,DigestOutputStream
,DirectExecutionControl
,FileCacheImageInputStream
,FileCacheImageOutputStream
,FileChannel
,FileImageInputStream
,FileImageOutputStream
,FileInputStream
,FileLock
,FileOutputStream
,FileReader
,FileSystem
,FileWriter
,FilterInputStream
,FilterOutputStream
,FilterReader
,FilterWriter
,Formatter
,ForwardingJavaFileManager
,GZIPInputStream
,GZIPOutputStream
,ImageInputStreamImpl
,ImageOutputStreamImpl
,InflaterInputStream
,InflaterOutputStream
,InputStream
,InputStream
,InputStream
,InputStreamReader
,JarFile
JarFile
,JarInputStream
,JarOutputStream
,JdiDefaultExecutionControl
,JdiExecutionControl
,JShell
,LineNumberInputStream
,LineNumberReader
,LocalExecutionControl
,LogStream
,MemoryCacheImageInputStream
,MemoryCacheImageOutputStream
,MLet
,MulticastSocket
,ObjectInputStream
,ObjectOutputStream
,OutputStream
,OutputStream
,OutputStream
,OutputStreamWriter
,Pipe.SinkChannel
,Pipe.SourceChannel
,PipedInputStream
,PipedOutputStream
,PipedReader
,PipedWriter
,PrintStream
,PrintWriter
,PrivateMLet
,ProgressMonitorInputStream
,PushbackInputStream
,PushbackReader
,RandomAccessFile
,Reader
,RemoteExecutionControl
,RMIConnectionImpl
,RMIConnectionImpl_Stub
,RMIConnector
,RMIIIOPServerImpl
,RMIJRMPServerImpl
,RMIServerImpl
,Scanner
,SctpChannel
,SctpMultiChannel
,SctpServerChannel
,SelectableChannel
,Selector
,SequenceInputStream
,ServerSocket
,ServerSocketChannel
,Socket
,SocketChannel
,SSLServerSocket
,SSLSocket
,StreamingExecutionControl
,StringBufferInputStream
,StringReader
StringReader
,StringWriter
,SubmissionPublisher
,URLClassLoader
,URLReader
,Writer
,XMLDecoder
,XMLEncoder
,ZipFile
,ZipInputStream
,ZipOutputStream
public interface AutoCloseable
可以保存资源的对象(如文件或套接字句柄),直到它关闭。AutoCloseable
对象的close()
方法在退出已在资源规范头中声明对象的try
资源块时自动调用。 这种结构确保迅速释放,避免资源耗尽异常和可能发生的错误。- API Note:
-
实际上,基类实现自动关闭是可能的,实际上是可行的,尽管不是所有的子类或实例都将保存可释放的资源。 对于必须以完全一般性运行的代码,或者当知道
AutoCloseable
实例需要资源释放时,建议使用try
-with-resources构造。 然而,使用设施,例如当Stream
同时支持I / O基和非I / O基的形式,try
-with资源块是一般不必要使用非I / O基形式时。 - 从以下版本开始:
- 1.7
-
-
方法详细信息
-
close
void close() throws 异常
关闭此资源,放弃任何基础资源。 这个方法是在由try
-with-resources语句管理的对象上自动调用的。虽然这个接口方法被声明为抛出
异常
, 强烈建议实现者声明close
方法的具体实现来抛出更多的特定异常,或者如果关闭操作不能失败,则完全不抛出任何异常。关闭操作可能失败的情况需要执行人员的注意。 强烈建议放弃基础资源,并将资源内部标记为封闭资源,然后再投出异常。
close
方法不太可能被多次调用,因此可以确保资源及时释放。 此外,它减少了当资源包裹或被另一资源包装时可能出现的问题。此接口的实施者也强烈建议没有
close
方法抛出InterruptedException
。 此异常与线程的中断状态相互作用,如果InterruptedException
为suppressed,则可能会发生运行时行为不当。 更一般来说,如果这将导致异常被抑制的问题,那么AutoCloseable.close
方法不应该抛出异常。请注意,与
close
的方法Closeable
,这close
不需要方法为幂等。 换句话说,close
调用这个close
方法可能会有一些可见的副作用,不像Closeable.close
,如果多次调用,则不需要任何效果。 然而,强烈建议这个接口的实现者使他们的close
方法是幂等的。- 异常
-
异常
- 如果此资源无法关闭
-
-