本文整理汇总了Java中libcore.io.IoUtils类的典型用法代码示例。如果您正苦于以下问题:Java IoUtils类的具体用法?Java IoUtils怎么用?Java IoUtils使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IoUtils类属于libcore.io包,在下文中一共展示了IoUtils类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getEligiblePackages
import libcore.io.IoUtils; //导入依赖的package包/类
private List<String> getEligiblePackages(Uri contentUri, Activity context) throws IOException {
List<String> results = new LinkedList<>();
ParcelFileDescriptor fileDescriptor = context.getContentResolver().openFileDescriptor(contentUri, "r");
FileInputStream fileInputStream = new FileInputStream(fileDescriptor.getFileDescriptor());
ZipInputStream inputStream = new ZipInputStream(fileInputStream);
ZipEntry zipEntry;
while ((zipEntry = inputStream.getNextEntry()) != null) {
String zipEntryPath = zipEntry.getName();
if (zipEntryPath.startsWith(ContentProviderBackupConfigurationBuilder.DEFAULT_FULL_BACKUP_DIRECTORY)) {
String fileName = new File(zipEntryPath).getName();
results.add(fileName);
}
inputStream.closeEntry();
}
IoUtils.closeQuietly(inputStream);
IoUtils.closeQuietly(fileDescriptor.getFileDescriptor());
return results;
}
开发者ID:stevesoltys,项目名称:backup,代码行数:24,代码来源:RestoreBackupActivityController.java
示例2: test_SSL_do_handshake_client_timeout
import libcore.io.IoUtils; //导入依赖的package包/类
@Test
public void test_SSL_do_handshake_client_timeout() throws Exception {
// client timeout
final ServerSocket listener = newServerSocket();
Socket serverSocket = null;
try {
Hooks cHooks = new Hooks();
Hooks sHooks = new ServerHooks(getServerPrivateKey(), getEncodedServerCertificates());
Future<TestSSLHandshakeCallbacks> client =
handshake(listener, 1, true, cHooks, null, null);
Future<TestSSLHandshakeCallbacks> server =
handshake(listener, -1, false, sHooks, null, null);
serverSocket = server.get(TIMEOUT_SECONDS, TimeUnit.SECONDS).getSocket();
client.get(TIMEOUT_SECONDS, TimeUnit.SECONDS);
fail();
} catch (ExecutionException expected) {
assertEquals(SocketTimeoutException.class, expected.getCause().getClass());
} finally {
// Manually close peer socket when testing timeout
IoUtils.closeQuietly(serverSocket);
}
}
开发者ID:google,项目名称:conscrypt,代码行数:23,代码来源:NativeCryptoTest.java
示例3: test_SSL_do_handshake_server_timeout
import libcore.io.IoUtils; //导入依赖的package包/类
@Test
public void test_SSL_do_handshake_server_timeout() throws Exception {
// server timeout
final ServerSocket listener = newServerSocket();
Socket clientSocket = null;
try {
Hooks cHooks = new Hooks();
Hooks sHooks = new ServerHooks(getServerPrivateKey(), getEncodedServerCertificates());
Future<TestSSLHandshakeCallbacks> client =
handshake(listener, -1, true, cHooks, null, null);
Future<TestSSLHandshakeCallbacks> server =
handshake(listener, 1, false, sHooks, null, null);
clientSocket = client.get(TIMEOUT_SECONDS, TimeUnit.SECONDS).getSocket();
server.get(TIMEOUT_SECONDS, TimeUnit.SECONDS);
fail();
} catch (ExecutionException expected) {
assertEquals(SocketTimeoutException.class, expected.getCause().getClass());
} finally {
// Manually close peer socket when testing timeout
IoUtils.closeQuietly(clientSocket);
}
}
开发者ID:google,项目名称:conscrypt,代码行数:23,代码来源:NativeCryptoTest.java
示例4: format
import libcore.io.IoUtils; //导入依赖的package包/类
/**
* Converts a {@link LogRecord} object into a human readable string
* representation.
*
* @param r
* the log record to be formatted into a string.
* @return the formatted string.
*/
@Override
public String format(LogRecord r) {
StringBuilder sb = new StringBuilder();
sb.append(MessageFormat.format("{0, date} {0, time} ",
new Object[] { new Date(r.getMillis()) }));
sb.append(r.getSourceClassName()).append(" ");
sb.append(r.getSourceMethodName()).append(System.lineSeparator());
sb.append(r.getLevel().getName()).append(": ");
sb.append(formatMessage(r)).append(System.lineSeparator());
if (r.getThrown() != null) {
sb.append("Throwable occurred: ");
Throwable t = r.getThrown();
PrintWriter pw = null;
try {
StringWriter sw = new StringWriter();
pw = new PrintWriter(sw);
t.printStackTrace(pw);
sb.append(sw.toString());
} finally {
IoUtils.closeQuietly(pw);
}
}
return sb.toString();
}
开发者ID:Sellegit,项目名称:j2objc,代码行数:33,代码来源:SimpleFormatter.java
示例5: Scanner
import libcore.io.IoUtils; //导入依赖的package包/类
/**
* Creates a {@code Scanner} with the specified {@code File} as input. The specified charset
* is applied when reading the file.
*
* @param src
* the file to be scanned.
* @param charsetName
* the name of the encoding type of the file.
* @throws FileNotFoundException
* if the specified file does not exist.
* @throws IllegalArgumentException
* if the specified coding does not exist.
*/
public Scanner(File src, String charsetName) throws FileNotFoundException {
if (src == null) {
throw new NullPointerException("src == null");
}
FileInputStream fis = new FileInputStream(src);
if (charsetName == null) {
throw new IllegalArgumentException("charsetName == null");
}
InputStreamReader streamReader;
try {
streamReader = new InputStreamReader(fis, charsetName);
} catch (UnsupportedEncodingException e) {
IoUtils.closeQuietly(fis);
throw new IllegalArgumentException(e.getMessage());
}
initialize(streamReader);
}
开发者ID:Sellegit,项目名称:j2objc,代码行数:32,代码来源:Scanner.java
示例6: SelectorImpl
import libcore.io.IoUtils; //导入依赖的package包/类
public SelectorImpl(SelectorProvider selectorProvider) throws IOException {
super(selectorProvider);
/*
* Create a pipe to trigger wakeup. We can't use a NIO pipe because it
* would be closed if the selecting thread is interrupted. Also
* configure the pipe so we can fully drain it without blocking.
*/
try {
FileDescriptor[] pipeFds = Libcore.os.pipe();
wakeupIn = pipeFds[0];
wakeupOut = pipeFds[1];
IoUtils.setBlocking(wakeupIn, false);
pollFds.add(new StructPollfd());
setPollFd(0, wakeupIn, POLLIN, null);
} catch (ErrnoException errnoException) {
throw errnoException.rethrowAsIOException();
}
}
开发者ID:Sellegit,项目名称:j2objc,代码行数:20,代码来源:SelectorImpl.java
示例7: createNewFile
import libcore.io.IoUtils; //导入依赖的package包/类
/**
* Creates a new, empty file on the file system according to the path
* information stored in this file. This method returns true if it creates
* a file, false if the file already existed. Note that it returns false
* even if the file is not a file (because it's a directory, say).
*
* <p>This method is not generally useful. For creating temporary files,
* use {@link #createTempFile} instead. For reading/writing files, use {@link FileInputStream},
* {@link FileOutputStream}, or {@link RandomAccessFile}, all of which can create files.
*
* <p>Note that this method does <i>not</i> throw {@code IOException} if the file
* already exists, even if it's not a regular file. Callers should always check the
* return value, and may additionally want to call {@link #isFile}.
*
* @return true if the file has been created, false if it
* already exists.
* @throws IOException if it's not possible to create the file.
*/
public boolean createNewFile() throws IOException {
if (0 == path.length()) {
throw new IOException("No such file or directory");
}
if (isDirectory()) { // true for paths like "dir/..", which can't be files.
throw new IOException("Cannot create: " + path);
}
FileDescriptor fd = null;
try {
// On Android, we don't want default permissions to allow global access.
fd = Libcore.os.open(path, O_RDWR | O_CREAT | O_EXCL, 0600);
return true;
} catch (ErrnoException errnoException) {
if (errnoException.errno == EEXIST) {
// The file already exists.
return false;
}
throw errnoException.rethrowAsIOException();
} finally {
IoUtils.close(fd); // TODO: should we suppress IOExceptions thrown here?
}
}
开发者ID:Sellegit,项目名称:j2objc,代码行数:41,代码来源:File.java
示例8: run
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public void run() {
try {
FileOutputStream fos = new FileOutputStream(mOutFd);
try {
byte[] buffer = new byte[TOTAL_SIZE];
for (int i = 0; i < buffer.length; ++i) {
buffer[i] = (byte) i;
}
fos.write(buffer);
} finally {
IoUtils.closeQuietly(fos);
IoUtils.close(mOutFd);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
开发者ID:Sellegit,项目名称:j2objc,代码行数:19,代码来源:FileInputStreamTest.java
示例9: close
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public void close() throws IOException {
try {
super.close();
} finally {
synchronized (this) {
if (fd != null && fd.valid()) {
try {
IoUtils.close(fd);
} finally {
fd = null;
}
}
}
}
}
开发者ID:keplersj,项目名称:In-the-Box-Fork,代码行数:17,代码来源:ProcessManager.java
示例10: close
import libcore.io.IoUtils; //导入依赖的package包/类
/**
* Closes this stream. This implementation closes the underlying operating
* system resources allocated to represent this stream.
*
* @throws IOException
* if an error occurs attempting to close this stream.
*/
@Override
public void close() throws IOException {
if (fd == null) {
// if fd is null, then the underlying file is not opened, so nothing
// to close
return;
}
if (channel != null) {
synchronized (channel) {
if (channel.isOpen() && fd.descriptor >= 0) {
channel.close();
}
}
}
synchronized (this) {
if (fd.valid() && innerFD) {
IoUtils.close(fd);
}
}
}
开发者ID:keplersj,项目名称:In-the-Box-Fork,代码行数:30,代码来源:FileOutputStream.java
示例11: install
import libcore.io.IoUtils; //导入依赖的package包/类
/***
* Creates a new HTTP response cache and {@link ResponseCache#setDefault
* sets it} as the system default cache.
*
* @param directory the directory to hold cache data.
* @param maxSize the maximum size of the cache in bytes.
* @return the newly-installed cache
* @throws IOException if {@code directory} cannot be used for this cache.
* Most applications should respond to this exception by logging a
* warning.
*/
public static HttpResponseCache install(File directory, long maxSize) throws IOException {
HttpResponseCache installed = getInstalled();
if (installed != null) {
// don't close and reopen if an equivalent cache is already installed
DiskLruCache installedCache = installed.delegate.getCache();
if (installedCache.getDirectory().equals(directory)
&& installedCache.getMaxSize() == maxSize
&& !installedCache.isClosed()) {
return installed;
} else {
IoUtils.closeQuietly(installed);
}
}
HttpResponseCache result = new HttpResponseCache(directory, maxSize);
ResponseCache.setDefault(result);
HttpsURLConnection.setDefaultHostnameVerifier(new DefaultHostnameVerifier());
if(!calledSetURLStreamHandlerFactory) {
// The stream handler factory can only be set once, so don't set it again if it's already been set
// This can happen if the application calls install() then delete() then install() again
calledSetURLStreamHandlerFactory = true;
URL.setURLStreamHandlerFactory(new URLStreamHandlerFactoryImpl());
}
return result;
}
开发者ID:Mobideck,项目名称:appdeck-android,代码行数:37,代码来源:HttpResponseCache.java
示例12: queryDocument
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public Cursor queryDocument(String docId, String[] projection) throws FileNotFoundException {
final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
if (DOC_ID_ROOT.equals(docId)) {
includeDefaultDocument(result);
} else {
// Delegate to real provider
final long token = Binder.clearCallingIdentity();
Cursor cursor = null;
try {
cursor = mDm.query(new Query().setFilterById(Long.parseLong(docId)));
copyNotificationUri(result, cursor);
if (cursor.moveToFirst()) {
includeTransferFromCursor(result, cursor);
}
} finally {
IoUtils.closeQuietly(cursor);
Binder.restoreCallingIdentity(token);
}
}
return result;
}
开发者ID:StoryMaker,项目名称:SecureShareLib,代码行数:24,代码来源:TransferStorageProvider.java
示例13: queryChildDocuments
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public Cursor queryChildDocuments(String docId, String[] projection, String sortOrder)
throws FileNotFoundException {
final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
// Delegate to real provider
final long token = Binder.clearCallingIdentity();
Cursor cursor = null;
try {
cursor = mDm.query(new DownloadManager.Query().setOnlyIncludeVisibleInDownloadsUi(true)
.setFilterByStatus(DownloadManager.STATUS_SUCCESSFUL));
copyNotificationUri(result, cursor);
while (cursor.moveToNext()) {
includeTransferFromCursor(result, cursor);
}
} finally {
IoUtils.closeQuietly(cursor);
Binder.restoreCallingIdentity(token);
}
return result;
}
开发者ID:StoryMaker,项目名称:SecureShareLib,代码行数:22,代码来源:TransferStorageProvider.java
示例14: queryChildDocumentsForManage
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public Cursor queryChildDocumentsForManage(
String parentDocumentId, String[] projection, String sortOrder)
throws FileNotFoundException {
final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
// Delegate to real provider
final long token = Binder.clearCallingIdentity();
Cursor cursor = null;
try {
cursor = mDm.query(
new DownloadManager.Query().setOnlyIncludeVisibleInDownloadsUi(true));
copyNotificationUri(result, cursor);
while (cursor.moveToNext()) {
includeTransferFromCursor(result, cursor);
}
} finally {
IoUtils.closeQuietly(cursor);
Binder.restoreCallingIdentity(token);
}
return result;
}
开发者ID:StoryMaker,项目名称:SecureShareLib,代码行数:23,代码来源:TransferStorageProvider.java
示例15: clearBackupState
import libcore.io.IoUtils; //导入依赖的package包/类
private int clearBackupState(boolean closeFile) {
if (backupState == null) {
return TRANSPORT_OK;
}
try {
IoUtils.closeQuietly(backupState.getInputFileDescriptor());
backupState.setInputFileDescriptor(null);
ZipOutputStream outputStream = backupState.getOutputStream();
if (outputStream != null) {
outputStream.closeEntry();
}
if (backupState.getPackageIndex() == configuration.getPackageCount() || closeFile) {
if (outputStream != null) {
outputStream.finish();
outputStream.close();
}
IoUtils.closeQuietly(backupState.getOutputFileDescriptor());
backupState = null;
}
} catch (IOException ex) {
Log.e(TAG, "Error cancelling full backup: ", ex);
return TRANSPORT_ERROR;
}
return TRANSPORT_OK;
}
开发者ID:stevesoltys,项目名称:backup,代码行数:34,代码来源:ContentProviderBackupComponent.java
示例16: containsPackageFile
import libcore.io.IoUtils; //导入依赖的package包/类
private boolean containsPackageFile(String fileName) throws IOException, InvalidKeyException,
InvalidAlgorithmParameterException {
ParcelFileDescriptor inputFileDescriptor = buildInputFileDescriptor();
ZipInputStream inputStream = buildInputStream(inputFileDescriptor);
Optional<ZipEntry> zipEntry = seekToEntry(inputStream, fileName);
IoUtils.closeQuietly(inputFileDescriptor);
IoUtils.closeQuietly(inputStream);
return zipEntry.isPresent();
}
开发者ID:stevesoltys,项目名称:backup,代码行数:11,代码来源:ContentProviderRestoreComponent.java
示例17: transferIncrementalRestoreData
import libcore.io.IoUtils; //导入依赖的package包/类
private int transferIncrementalRestoreData(String packageName, ParcelFileDescriptor outputFileDescriptor)
throws IOException, InvalidAlgorithmParameterException, InvalidKeyException {
ParcelFileDescriptor inputFileDescriptor = buildInputFileDescriptor();
ZipInputStream inputStream = buildInputStream(inputFileDescriptor);
BackupDataOutput backupDataOutput = new BackupDataOutput(outputFileDescriptor.getFileDescriptor());
Optional<ZipEntry> zipEntryOptional = seekToEntry(inputStream,
configuration.getIncrementalBackupDirectory() + packageName);
while (zipEntryOptional.isPresent()) {
String fileName = new File(zipEntryOptional.get().getName()).getName();
String blobKey = new String(Base64.decode(fileName, Base64.DEFAULT));
byte[] backupData = Streams.readFullyNoClose(inputStream);
backupDataOutput.writeEntityHeader(blobKey, backupData.length);
backupDataOutput.writeEntityData(backupData, backupData.length);
inputStream.closeEntry();
zipEntryOptional = seekToEntry(inputStream, configuration.getIncrementalBackupDirectory() + packageName);
}
IoUtils.closeQuietly(inputFileDescriptor);
IoUtils.closeQuietly(outputFileDescriptor);
return TRANSPORT_OK;
}
开发者ID:stevesoltys,项目名称:backup,代码行数:26,代码来源:ContentProviderRestoreComponent.java
示例18: getNextFullRestoreDataChunk
import libcore.io.IoUtils; //导入依赖的package包/类
@Override
public int getNextFullRestoreDataChunk(ParcelFileDescriptor outputFileDescriptor) {
Preconditions.checkState(restoreState.getRestoreType() == TYPE_FULL_STREAM,
"Asked for full restore data for non-stream package");
ParcelFileDescriptor inputFileDescriptor = restoreState.getInputFileDescriptor();
if (inputFileDescriptor == null) {
String name = restoreState.getPackages()[restoreState.getPackageIndex()].packageName;
try {
inputFileDescriptor = buildInputFileDescriptor();
restoreState.setInputFileDescriptor(inputFileDescriptor);
ZipInputStream inputStream = buildInputStream(inputFileDescriptor);
restoreState.setInputStream(inputStream);
if (!seekToEntry(inputStream, configuration.getFullBackupDirectory() + name).isPresent()) {
IoUtils.closeQuietly(inputFileDescriptor);
IoUtils.closeQuietly(outputFileDescriptor);
return TRANSPORT_PACKAGE_REJECTED;
}
} catch (IOException ex) {
Log.e(TAG, "Unable to read archive for " + name, ex);
IoUtils.closeQuietly(inputFileDescriptor);
IoUtils.closeQuietly(outputFileDescriptor);
return TRANSPORT_PACKAGE_REJECTED;
}
}
return transferFullRestoreData(outputFileDescriptor);
}
开发者ID:stevesoltys,项目名称:backup,代码行数:35,代码来源:ContentProviderRestoreComponent.java
示例19: transferFullRestoreData
import libcore.io.IoUtils; //导入依赖的package包/类
private int transferFullRestoreData(ParcelFileDescriptor outputFileDescriptor) {
ZipInputStream inputStream = restoreState.getInputStream();
OutputStream outputStream = new FileOutputStream(outputFileDescriptor.getFileDescriptor());
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int bytesRead = NO_MORE_DATA;
try {
bytesRead = inputStream.read(buffer);
if (bytesRead <= 0) {
bytesRead = NO_MORE_DATA;
} else {
outputStream.write(buffer, 0, bytesRead);
}
} catch (Exception e) {
Log.e(TAG, "Exception while streaming restore data: ", e);
return TRANSPORT_ERROR;
} finally {
if (bytesRead == NO_MORE_DATA) {
if (restoreState.getInputFileDescriptor() != null) {
IoUtils.closeQuietly(restoreState.getInputFileDescriptor());
}
restoreState.setInputFileDescriptor(null);
restoreState.setInputStream(null);
}
IoUtils.closeQuietly(outputFileDescriptor);
}
return bytesRead;
}
开发者ID:stevesoltys,项目名称:backup,代码行数:37,代码来源:ContentProviderRestoreComponent.java
示例20: resetFullRestoreState
import libcore.io.IoUtils; //导入依赖的package包/类
private void resetFullRestoreState() {
Preconditions.checkNotNull(restoreState);
Preconditions.checkState(restoreState.getRestoreType() == TYPE_FULL_STREAM);
IoUtils.closeQuietly(restoreState.getInputFileDescriptor());
restoreState = null;
}
开发者ID:stevesoltys,项目名称:backup,代码行数:8,代码来源:ContentProviderRestoreComponent.java
注:本文中的libcore.io.IoUtils类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论