mirror of
https://github.com/square/okhttp.git
synced 2026-01-24 04:02:07 +03:00
This is a fork of okhttp from http://code.google.com/p/okhttp. I'm moving it to Github since that's where my code reviewers are. I've renamed the core package from com.google.okhttp to com.squareup.okhttp because Square is where I expect ongoing development of this project to take place. All code in this project is subject to be contributed upstream to AOSP. In particular, all code in the libcore package is derived from AOSP and intended to be contributed back to AOSP on an ongoing basis.
73 lines
2.1 KiB
Java
73 lines
2.1 KiB
Java
/*
|
|
* Copyright (C) 2010 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package libcore.io;
|
|
|
|
import java.io.Closeable;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.net.Socket;
|
|
|
|
public final class IoUtils {
|
|
private IoUtils() {
|
|
}
|
|
|
|
/**
|
|
* Closes 'closeable', ignoring any checked exceptions. Does nothing if 'closeable' is null.
|
|
*/
|
|
public static void closeQuietly(Closeable closeable) {
|
|
if (closeable != null) {
|
|
try {
|
|
closeable.close();
|
|
} catch (RuntimeException rethrown) {
|
|
throw rethrown;
|
|
} catch (Exception ignored) {
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Closes 'socket', ignoring any exceptions. Does nothing if 'socket' is null.
|
|
*/
|
|
public static void closeQuietly(Socket socket) {
|
|
if (socket != null) {
|
|
try {
|
|
socket.close();
|
|
} catch (Exception ignored) {
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Recursively delete everything in {@code dir}.
|
|
*/
|
|
// TODO: this should specify paths as Strings rather than as Files
|
|
public static void deleteContents(File dir) throws IOException {
|
|
File[] files = dir.listFiles();
|
|
if (files == null) {
|
|
throw new IllegalArgumentException("not a directory: " + dir);
|
|
}
|
|
for (File file : files) {
|
|
if (file.isDirectory()) {
|
|
deleteContents(file);
|
|
}
|
|
if (!file.delete()) {
|
|
throw new IOException("failed to delete file: " + file);
|
|
}
|
|
}
|
|
}
|
|
}
|