org.apache.commons.io.Charsets#toCharset ( )源码实例Demo

下面列出了org.apache.commons.io.Charsets#toCharset ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Thunder   文件: LogServiceMonitorRetriever.java
public List<MonitorStat> retrieve(String traceId, String filePath, String encoding) throws Exception {
    if (StringUtils.isEmpty(traceId)) {
        throw new MonitorException("Trace ID is null");
    }

    if (StringUtils.isEmpty(filePath)) {
        throw new MonitorException("File path is null");
    }

    List<MonitorStat> monitorStatList = new ArrayList<MonitorStat>();

    String key = "\"" + ThunderConstant.TRACE_ID + "\":\"" + traceId + "\"";

    InputStream inputStream = new FileInputStream(filePath);
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, Charsets.toCharset(encoding));
    BufferedReader bufferedReader = IOUtils.toBufferedReader(inputStreamReader);
    String line = bufferedReader.readLine();
    while (line != null) {
        if (line.contains(key)) {
            line = line.substring(line.indexOf("{"));
            try {
                MonitorStat monitorStat = create(line);
                monitorStatList.add(monitorStat);
            } catch (Exception e) {
                LOG.error("Create MonitorStat failed", e);
            }
        }
        line = bufferedReader.readLine();
    }

    sort(monitorStatList);

    IOUtils.closeQuietly(bufferedReader);
    IOUtils.closeQuietly(inputStreamReader);
    IOUtils.closeQuietly(inputStream);

    return monitorStatList;
}
 
源代码2 项目: DataLink   文件: UnstructuredStorageWriterUtil.java
/**
 * check parameter: writeMode, encoding, compress, filedDelimiter
 * */
public static void validateParameter(Configuration writerConfiguration) {
    // writeMode check
    String writeMode = writerConfiguration.getNecessaryValue(
            Key.WRITE_MODE,
            UnstructuredStorageWriterErrorCode.REQUIRED_VALUE);
    writeMode = writeMode.trim();
    Set<String> supportedWriteModes = Sets.newHashSet("truncate", "append",
            "nonConflict");
    if (!supportedWriteModes.contains(writeMode)) {
        throw DataXException
                .asDataXException(
                        UnstructuredStorageWriterErrorCode.ILLEGAL_VALUE,
                        String.format(
                                "仅支持 truncate, append, nonConflict 三种模式, 不支持您配置的 writeMode 模式 : [%s]",
                                writeMode));
    }
    writerConfiguration.set(Key.WRITE_MODE, writeMode);

    // encoding check
    String encoding = writerConfiguration.getString(Key.ENCODING);
    if (StringUtils.isBlank(encoding)) {
        // like "  ", null
        LOG.warn(String.format("您的encoding配置为空, 将使用默认值[%s]",
                Constant.DEFAULT_ENCODING));
        writerConfiguration.set(Key.ENCODING, Constant.DEFAULT_ENCODING);
    } else {
        try {
            encoding = encoding.trim();
            writerConfiguration.set(Key.ENCODING, encoding);
            Charsets.toCharset(encoding);
        } catch (Exception e) {
            throw DataXException.asDataXException(
                    UnstructuredStorageWriterErrorCode.ILLEGAL_VALUE,
                    String.format("不支持您配置的编码格式:[%s]", encoding), e);
        }
    }

    // only support compress types
    String compress = writerConfiguration.getString(Key.COMPRESS);
    if (StringUtils.isBlank(compress)) {
        writerConfiguration.set(Key.COMPRESS, null);
    } else {
        Set<String> supportedCompress = Sets.newHashSet("gzip", "bzip2");
        if (!supportedCompress.contains(compress.toLowerCase().trim())) {
            String message = String.format(
                    "仅支持 [%s] 文件压缩格式 , 不支持您配置的文件压缩格式: [%s]",
                    StringUtils.join(supportedCompress, ","));
            throw DataXException.asDataXException(
                    UnstructuredStorageWriterErrorCode.ILLEGAL_VALUE,
                    String.format(message, compress));
        }
    }

    // fieldDelimiter check
    String delimiterInStr = writerConfiguration
            .getString(Key.FIELD_DELIMITER);
    // warn: if have, length must be one
    if (null != delimiterInStr && 1 != delimiterInStr.length()) {
        throw DataXException.asDataXException(
                UnstructuredStorageWriterErrorCode.ILLEGAL_VALUE,
                String.format("仅仅支持单字符切分, 您配置的切分为 : [%s]", delimiterInStr));
    }
    if (null == delimiterInStr) {
        LOG.warn(String.format("您没有配置列分隔符, 使用默认值[%s]",
                Constant.DEFAULT_FIELD_DELIMITER));
        writerConfiguration.set(Key.FIELD_DELIMITER,
                Constant.DEFAULT_FIELD_DELIMITER);
    }

    // fileFormat check
    String fileFormat = writerConfiguration.getString(Key.FILE_FORMAT,
            Constant.FILE_FORMAT_TEXT);
    if (!Constant.FILE_FORMAT_CSV.equals(fileFormat)
            && !Constant.FILE_FORMAT_TEXT.equals(fileFormat)) {
        throw DataXException.asDataXException(
                UnstructuredStorageWriterErrorCode.ILLEGAL_VALUE,
                String.format("您配置的fileFormat [%s]错误, 支持csv, plainText两种.",
                        fileFormat));
    }
}
 
源代码3 项目: DataLink   文件: UnstructuredStorageReaderUtil.java
/**
    * check parameter:encoding, compress, filedDelimiter
    * */
public static void validateParameter(Configuration readerConfiguration) {

	// encoding check
	 String encoding = readerConfiguration.getUnnecessaryValue(
				com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.ENCODING,
				com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Constant.DEFAULT_ENCODING,null);
	 try {
            encoding = encoding.trim();
            readerConfiguration.set(Key.ENCODING, encoding);
            Charsets.toCharset(encoding);
        } catch (UnsupportedCharsetException uce) {
			throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.ILLEGAL_VALUE,
					String.format("不支持您配置的编码格式 : [%s]", encoding), uce);
	} catch (Exception e) {
			throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.CONFIG_INVALID_EXCEPTION,
					String.format("编码配置异常, 请联系我们: %s", e.getMessage()), e);
	}
	 
	 //only support compress types
	 String compress =readerConfiguration
				.getUnnecessaryValue(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.COMPRESS,null,null);
		if(compress != null){
			compress = compress.toLowerCase().trim();
			boolean compressTag = "gzip".equals(compress) || "bzip2".equals(compress);
			if (!compressTag) {
				throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.ILLEGAL_VALUE,
						String.format("仅支持 gzip, bzip2 文件压缩格式 , 不支持您配置的文件压缩格式: [%s]", compress));
			}
		}		
		readerConfiguration.set(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.COMPRESS, compress);
		
		//fieldDelimiter check
		String delimiterInStr = readerConfiguration.getString(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.FIELD_DELIMITER,null);
		if(null == delimiterInStr){
			throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.REQUIRED_VALUE,
					String.format("您提供配置文件有误,[%s]是必填参数.",
							com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.FIELD_DELIMITER));
		}else if(1 != delimiterInStr.length()){
			// warn: if have, length must be one
			throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.ILLEGAL_VALUE,
					String.format("仅仅支持单字符切分, 您配置的切分为 : [%s]", delimiterInStr));
		}

		// column: 1. index type 2.value type 3.when type is Date, may have
		// format
		List<Configuration> columns = readerConfiguration
				.getListConfiguration(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.COLUMN);
		if (null == columns || columns.size() == 0) {
			throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.REQUIRED_VALUE, "您需要指定 columns");
		}
		// handle ["*"]
		if (null != columns && 1 == columns.size()) {
			String columnsInStr = columns.get(0).toString();
			if ("\"*\"".equals(columnsInStr) || "'*'".equals(columnsInStr)) {
				readerConfiguration.set(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.COLUMN, null);
				columns = null;
			}
		}

		if (null != columns && columns.size() != 0) {
			for (Configuration eachColumnConf : columns) {
				eachColumnConf.getNecessaryValue(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.TYPE,
						UnstructuredStorageReaderErrorCode.REQUIRED_VALUE);
				Integer columnIndex = eachColumnConf
						.getInt(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.INDEX);
				String columnValue = eachColumnConf
						.getString(com.ucar.datalink.flinker.plugin.unstructuredstorage.reader.Key.VALUE);

				if (null == columnIndex && null == columnValue) {
					throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.NO_INDEX_VALUE,
							"由于您配置了type, 则至少需要配置 index 或 value");
				}

				if (null != columnIndex && null != columnValue) {
					throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.MIXED_INDEX_VALUE,
							"您混合配置了index, value, 每一列同时仅能选择其中一种");
				}
				if (null != columnIndex && columnIndex < 0) {
					throw DataXException.asDataXException(UnstructuredStorageReaderErrorCode.ILLEGAL_VALUE,
							String.format("index需要大于等于0, 您配置的index为[%s]", columnIndex));
				}
			}
		}

}
 
源代码4 项目: aion-germany   文件: ReversedLinesFileReader.java
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @since 2.3
 */
public ReversedLinesFileReader(final File file, final int blockSize, final Charset encoding) throws IOException {
    this.blockSize = blockSize;
    this.encoding = encoding;

    randomAccessFile = new RandomAccessFile(file, "r");
    totalByteLength = randomAccessFile.length();
    int lastBlockLength = (int) (totalByteLength % blockSize);
    if (lastBlockLength > 0) {
        totalBlockCount = totalByteLength / blockSize + 1;
    } else {
        totalBlockCount = totalByteLength / blockSize;
        if (totalByteLength > 0) {
            lastBlockLength = blockSize;
        }
    }
    currentFilePart = new FilePart(totalBlockCount, lastBlockLength, null);

    // --- check & prepare encoding ---
    Charset charset = Charsets.toCharset(encoding);
    CharsetEncoder charsetEncoder = charset.newEncoder();
    float maxBytesPerChar = charsetEncoder.maxBytesPerChar();
    if(maxBytesPerChar==1f) {
        // all one byte encodings are no problem
        byteDecrement = 1;
    } else if(charset == Charset.forName("UTF-8")) {
        // UTF-8 works fine out of the box, for multibyte sequences a second UTF-8 byte can never be a newline byte
        // http://en.wikipedia.org/wiki/UTF-8
        byteDecrement = 1;
    } else if(charset == Charset.forName("Shift_JIS")) {
        // Same as for UTF-8
        // http://www.herongyang.com/Unicode/JIS-Shift-JIS-Encoding.html
        byteDecrement = 1;
    } else if(charset == Charset.forName("UTF-16BE") || charset == Charset.forName("UTF-16LE")) {
        // UTF-16 new line sequences are not allowed as second tuple of four byte sequences,
        // however byte order has to be specified
        byteDecrement = 2;
    } else if(charset == Charset.forName("UTF-16")) {
        throw new UnsupportedEncodingException(
                "For UTF-16, you need to specify the byte order (use UTF-16BE or UTF-16LE)");
    } else {
        throw new UnsupportedEncodingException(
                "Encoding "+encoding+" is not supported yet (feel free to submit a patch)");
    }
    // NOTE: The new line sequences are matched in the order given, so it is important that \r\n is BEFORE \n
    newLineSequences = new byte[][] { "\r\n".getBytes(encoding), "\n".getBytes(encoding), "\r".getBytes(encoding) };

    avoidNewlineSplitBufferSize = newLineSequences[0].length;
}
 
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @since 2.3
 */
public ReversedLinesFileReader(final File file, final int blockSize, final Charset encoding) throws IOException {
    this.blockSize = blockSize;
    this.encoding = encoding;

    randomAccessFile = new RandomAccessFile(file, "r");
    totalByteLength = randomAccessFile.length();
    int lastBlockLength = (int) (totalByteLength % blockSize);
    if (lastBlockLength > 0) {
        totalBlockCount = totalByteLength / blockSize + 1;
    } else {
        totalBlockCount = totalByteLength / blockSize;
        if (totalByteLength > 0) {
            lastBlockLength = blockSize;
        }
    }
    currentFilePart = new FilePart(totalBlockCount, lastBlockLength, null);

    // --- check & prepare encoding ---
    Charset charset = Charsets.toCharset(encoding);
    CharsetEncoder charsetEncoder = charset.newEncoder();
    float maxBytesPerChar = charsetEncoder.maxBytesPerChar();
    if(maxBytesPerChar==1f) {
        // all one byte encodings are no problem
        byteDecrement = 1;
    } else if(charset == Charset.forName("UTF-8")) {
        // UTF-8 works fine out of the box, for multibyte sequences a second UTF-8 byte can never be a newline byte
        // http://en.wikipedia.org/wiki/UTF-8
        byteDecrement = 1;
    } else if(charset == Charset.forName("Shift_JIS")) {
        // Same as for UTF-8
        // http://www.herongyang.com/Unicode/JIS-Shift-JIS-Encoding.html
        byteDecrement = 1;
    } else if(charset == Charset.forName("UTF-16BE") || charset == Charset.forName("UTF-16LE")) {
        // UTF-16 new line sequences are not allowed as second tuple of four byte sequences,
        // however byte order has to be specified
        byteDecrement = 2;
    } else if(charset == Charset.forName("UTF-16")) {
        throw new UnsupportedEncodingException(
                "For UTF-16, you need to specify the byte order (use UTF-16BE or UTF-16LE)");
    } else {
        throw new UnsupportedEncodingException(
                "Encoding "+encoding+" is not supported yet (feel free to submit a patch)");
    }
    // NOTE: The new line sequences are matched in the order given, so it is important that \r\n is BEFORE \n
    newLineSequences = new byte[][] { "\r\n".getBytes(encoding), "\n".getBytes(encoding), "\r".getBytes(encoding) };

    avoidNewlineSplitBufferSize = newLineSequences[0].length;
}
 
源代码6 项目: lams   文件: ReversedLinesFileReader.java
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @since 2.3
 */
@SuppressWarnings("deprecation") // unavoidable until Java 7
public ReversedLinesFileReader(final File file, final int blockSize, final Charset encoding) throws IOException {
    this.blockSize = blockSize;
    this.encoding = encoding;

    // --- check & prepare encoding ---
    final Charset charset = Charsets.toCharset(encoding);
    final CharsetEncoder charsetEncoder = charset.newEncoder();
    final float maxBytesPerChar = charsetEncoder.maxBytesPerChar();
    if (maxBytesPerChar == 1f) {
        // all one byte encodings are no problem
        byteDecrement = 1;
    } else if (charset == Charsets.UTF_8) {
        // UTF-8 works fine out of the box, for multibyte sequences a second UTF-8 byte can never be a newline byte
        // http://en.wikipedia.org/wiki/UTF-8
        byteDecrement = 1;
    } else if(charset == Charset.forName("Shift_JIS") || // Same as for UTF-8
            // http://www.herongyang.com/Unicode/JIS-Shift-JIS-Encoding.html
            charset == Charset.forName("windows-31j") || // Windows code page 932 (Japanese)
            charset == Charset.forName("x-windows-949") || // Windows code page 949 (Korean)
            charset == Charset.forName("gbk") || // Windows code page 936 (Simplified Chinese)
            charset == Charset.forName("x-windows-950")) { // Windows code page 950 (Traditional Chinese)
        byteDecrement = 1;
    } else if (charset == Charsets.UTF_16BE || charset == Charsets.UTF_16LE) {
        // UTF-16 new line sequences are not allowed as second tuple of four byte sequences,
        // however byte order has to be specified
        byteDecrement = 2;
    } else if (charset == Charsets.UTF_16) {
        throw new UnsupportedEncodingException("For UTF-16, you need to specify the byte order (use UTF-16BE or " +
                "UTF-16LE)");
    } else {
        throw new UnsupportedEncodingException("Encoding " + encoding + " is not supported yet (feel free to " +
                "submit a patch)");
    }

    // NOTE: The new line sequences are matched in the order given, so it is important that \r\n is BEFORE \n
    newLineSequences = new byte[][] { "\r\n".getBytes(encoding), "\n".getBytes(encoding), "\r".getBytes(encoding) };

    avoidNewlineSplitBufferSize = newLineSequences[0].length;

    // Open file
    randomAccessFile = new RandomAccessFile(file, "r");
    totalByteLength = randomAccessFile.length();
    int lastBlockLength = (int) (totalByteLength % blockSize);
    if (lastBlockLength > 0) {
        totalBlockCount = totalByteLength / blockSize + 1;
    } else {
        totalBlockCount = totalByteLength / blockSize;
        if (totalByteLength > 0) {
            lastBlockLength = blockSize;
        }
    }
    currentFilePart = new FilePart(totalBlockCount, lastBlockLength, null);

}
 
public List<MonitorStat> retrieve(String traceId, Map<String, Object> conditions, String encoding) throws Exception {
    if (StringUtils.isEmpty(traceId)) {
        throw new MonitorException("Trace ID is null");
    }

    if (service == null) {
        throw new MonitorException("Splunk service is null");
    }

    String sourceType = properties.getString(ThunderConstant.NAMESPACE_ELEMENT_NAME);
    int maximumTime = properties.getInteger(ThunderConstant.SPLUNK_MAXIMUM_TIME_ATTRIBUTE_NAME);
    String earliestTime = null;
    String latestTime = null;
    if (MapUtils.isNotEmpty(conditions)) {
        Object sourceTypeObject = conditions.get(ThunderConstant.SPLUNK_SOURCE_TYPE_ATTRIBUTE_NAME);
        if (sourceTypeObject != null) {
            sourceType = sourceTypeObject.toString();
        }

        Object maximumTimeObject = conditions.get(ThunderConstant.SPLUNK_MAXIMUM_TIME_ATTRIBUTE_NAME);
        if (maximumTimeObject != null) {
            maximumTime = (Integer) maximumTimeObject;
        }

        Object earliestTimeObject = conditions.get(ThunderConstant.SPLUNK_EARLIEST_TIME_ATTRIBUTE_NAME);
        if (earliestTimeObject != null) {
            earliestTime = new SimpleDateFormat(DATE_FORMAT_SPLUNK).format((Date) earliestTimeObject);
        }

        Object latestTimeObject = conditions.get(ThunderConstant.SPLUNK_LATEST_TIME_ATTRIBUTE_NAME);
        if (latestTimeObject != null) {
            latestTime = new SimpleDateFormat(DATE_FORMAT_SPLUNK).format((Date) latestTimeObject);
        }
    }

    JobExportArgs exportArgs = new JobExportArgs();
    exportArgs.setOutputMode(JobExportArgs.OutputMode.JSON);
    exportArgs.setMaximumTime(maximumTime);
    if (StringUtils.isNotEmpty(earliestTime)) {
        exportArgs.setEarliestTime(earliestTime);
    }
    if (StringUtils.isNotEmpty(latestTime)) {
        exportArgs.setLatestTime(latestTime);
    }

    InputStream inputStream = service.export("search sourcetype=\"" + sourceType + "\" " + ThunderConstant.TRACE_ID + "=\"" + traceId + "\"", exportArgs);
    if (inputStream == null) {
        throw new MonitorException("Input stream is null");
    }

    List<MonitorStat> monitorStatList = new ArrayList<MonitorStat>();

    String key = "{\"" + ThunderConstant.TRACE_ID + "\":\"" + traceId + "\"";

    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, Charsets.toCharset(encoding));
    BufferedReader bufferedReader = IOUtils.toBufferedReader(inputStreamReader);
    String line = bufferedReader.readLine();
    while (line != null) {
        line = line.replace("\\\"", "\"");
        if (line.contains(key)) {
            line = line.substring(line.indexOf(key) + 1);
            line = line.substring(0, line.indexOf("}"));
            line = "{" + line + "}";
            try {
                MonitorStat monitorStat = create(line);
                String exception = monitorStat.getException();
                if (StringUtils.isNotEmpty(exception)) {
                    exception = exception.replace("\\r\\n\\t", "\r\n\t").replace("\\r\\n", "\r\n");
                    monitorStat.setException(exception);
                }
                monitorStatList.add(monitorStat);
            } catch (Exception e) {
                LOG.error("Create MonitorStat failed", e);
            }
        }
        line = bufferedReader.readLine();
    }

    sort(monitorStatList);

    IOUtils.closeQuietly(bufferedReader);
    IOUtils.closeQuietly(inputStreamReader);
    IOUtils.closeQuietly(inputStream);

    return monitorStatList;
}
 
源代码8 项目: gatk   文件: HtsgetReader.java
@Override
public Object doWork() {
    // construct request from command line args and convert to URI
    final HtsgetRequestBuilder req = new HtsgetRequestBuilder(endpoint, id)
        .withFormat(format)
        .withDataClass(dataClass)
        .withInterval(interval)
        .withFields(fields)
        .withTags(tags)
        .withNotags(notags);
    final URI reqURI = req.toURI();

    final HttpGet getReq = new HttpGet(reqURI);
    try (final CloseableHttpResponse resp = this.client.execute(getReq)) {
        // get content of response
        final HttpEntity entity = resp.getEntity();
        final Header encodingHeader = entity.getContentEncoding();
        final Charset encoding = encodingHeader == null 
            ? StandardCharsets.UTF_8
            : Charsets.toCharset(encodingHeader.getValue());
        final String jsonBody = EntityUtils.toString(entity, encoding);

        final ObjectMapper mapper = this.getObjectMapper();

        if (resp.getStatusLine() == null) {
            throw new UserException("htsget server response did not contain status line");
        }
        final int statusCode = resp.getStatusLine().getStatusCode();
        if (400 <= statusCode && statusCode < 500) {
            final HtsgetErrorResponse err = mapper.readValue(jsonBody, HtsgetErrorResponse.class);
            throw new UserException("Invalid request, received error code: " + statusCode + ", error type: "
                    + err.getError() + ", message: " + err.getMessage());
        } else if (statusCode == 200) {
            final HtsgetResponse response = mapper.readValue(jsonBody, HtsgetResponse.class);

            if (this.readerThreads > 1) {
                this.getDataParallel(response);
            } else {
                this.getData(response);
            }

            logger.info("Successfully wrote to: " + outputFile);

            if (checkMd5) {
                this.checkMd5(response);
            }
        } else {
            throw new UserException("Unrecognized status code: " + statusCode);
        }
    } catch (final IOException e) {
        throw new UserException("IOException during htsget download", e);
    }
    return null;
}
 
源代码9 项目: aion-germany   文件: LockableFileWriter.java
/**
 * Constructs a LockableFileWriter with a file encoding.
 *
 * @param file  the file to write to, not null
 * @param encoding  the encoding to use, null means platform default
 * @param append  true if content should be appended, false to overwrite
 * @param lockDir  the directory in which the lock file should be held
 * @throws NullPointerException if the file is null
 * @throws IOException in case of an I/O error
 * @throws UnsupportedCharsetException
 *             thrown instead of {@link UnsupportedEncodingException} in version 2.2 if the encoding is not
 *             supported.
 */
public LockableFileWriter(File file, String encoding, boolean append,
        String lockDir) throws IOException {
    this(file, Charsets.toCharset(encoding), append, lockDir);
}
 
源代码10 项目: aion-germany   文件: ReversedLinesFileReader.java
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @throws UnsupportedCharsetException
 *             thrown instead of {@link UnsupportedEncodingException} in version 2.2 if the encoding is not
 *             supported.
 */
public ReversedLinesFileReader(final File file, final int blockSize, final String encoding) throws IOException {
    this(file, blockSize, Charsets.toCharset(encoding));
}
 
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @throws UnsupportedCharsetException
 *             thrown instead of {@link UnsupportedEncodingException} in version 2.2 if the encoding is not
 *             supported.
 */
public ReversedLinesFileReader(final File file, final int blockSize, final String encoding) throws IOException {
    this(file, blockSize, Charsets.toCharset(encoding));
}
 
源代码12 项目: lams   文件: LockableFileWriter.java
/**
 * Constructs a LockableFileWriter with a file encoding.
 *
 * @param file  the file to write to, not null
 * @param encoding  the encoding to use, null means platform default
 * @param append  true if content should be appended, false to overwrite
 * @param lockDir  the directory in which the lock file should be held
 * @throws NullPointerException if the file is null
 * @throws IOException in case of an I/O error
 * @throws java.nio.charset.UnsupportedCharsetException
 *             thrown instead of {@link java.io.UnsupportedEncodingException} in version 2.2 if the encoding is not
 *             supported.
 */
public LockableFileWriter(final File file, final String encoding, final boolean append,
        final String lockDir) throws IOException {
    this(file, Charsets.toCharset(encoding), append, lockDir);
}
 
源代码13 项目: lams   文件: ReversedLinesFileReader.java
/**
 * Creates a ReversedLinesFileReader with the given block size and encoding.
 *
 * @param file
 *            the file to be read
 * @param blockSize
 *            size of the internal buffer (for ideal performance this should
 *            match with the block size of the underlying file system).
 * @param encoding
 *            the encoding of the file
 * @throws IOException  if an I/O error occurs
 * @throws java.nio.charset.UnsupportedCharsetException thrown instead of {@link UnsupportedEncodingException} in
 * version 2.2 if the encoding is not supported.
 */
public ReversedLinesFileReader(final File file, final int blockSize, final String encoding) throws IOException {
    this(file, blockSize, Charsets.toCharset(encoding));
}
 
 同类方法