## org.gjt.sp.jedit.io
Class AutoDetection

    java.lang.Object
      org.gjt.sp.jedit.io.AutoDetection

    public class AutoDetection

extends java.lang.Object

Some functions for auto detection of I/O stream properties.

Nested Class Summary
`static class` `AutoDetection.Result` An utility class to hold the result of some auto detections.

Constructor Summary
`AutoDetection()`

Method Summary
`static java.lang.String` `getDetectedEncoding(java.io.BufferedInputStream markedStream)` Returns an auto detected encoding from content of markedStream.
`static java.util.List<EncodingDetector>` `getEncodingDetectors()` Returns the user configured ordered list of encoding detectors.
`static java.io.BufferedInputStream` `getMarkedStream(java.io.InputStream in)` Returns a marked, rewindable stream.
`static boolean` `isGzipped(java.io.InputStream sample)` Returns wheather the stream is gzipped.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AutoDetection

    public AutoDetection()

Method Detail

### getMarkedStream

    public static java.io.BufferedInputStream getMarkedStream(java.io.InputStream in)

  Returns a marked, rewindable stream. Calling reset() method rewinds the stream to its beginning. But reset() can fail if too long bytes were read.

### isGzipped

    public static boolean isGzipped(java.io.InputStream sample)
                             throws java.io.IOException

  Returns wheather the stream is gzipped. This method reads a few bytes from the sample. So a caller must take care of mark() to reuse the contents. Wraping the stream by getMarkedStream() is suitable.

  Throws:
    `java.io.IOException`

### getEncodingDetectors

    public static java.util.List<EncodingDetector> getEncodingDetectors()

  Returns the user configured ordered list of encoding detectors. This method reads property "encodingDetectors".

### getDetectedEncoding

    public static java.lang.String getDetectedEncoding(java.io.BufferedInputStream markedStream)
                                                throws java.io.IOException

  Returns an auto detected encoding from content of markedStream. This method assumes that markedStream is wrapped by getMarkedStream() method.

  Throws:
    `java.io.IOException`