Rabbit-R1/switch port/java/sources/com/google/common/io/Resources.java
2024-05-21 17:08:36 -04:00

92 lines
3.2 KiB
Java

package com.google.common.io;
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.List;
@ElementTypesAreNonnullByDefault
/* loaded from: classes3.dex */
public final class Resources {
private Resources() {
}
public static ByteSource asByteSource(URL url) {
return new UrlByteSource(url);
}
/* JADX INFO: Access modifiers changed from: private */
/* loaded from: classes3.dex */
public static final class UrlByteSource extends ByteSource {
private final URL url;
private UrlByteSource(URL url) {
this.url = (URL) Preconditions.checkNotNull(url);
}
@Override // com.google.common.io.ByteSource
public InputStream openStream() throws IOException {
return this.url.openStream();
}
public String toString() {
String valueOf = String.valueOf(this.url);
return new StringBuilder(String.valueOf(valueOf).length() + 24).append("Resources.asByteSource(").append(valueOf).append(")").toString();
}
}
public static CharSource asCharSource(URL url, Charset charset) {
return asByteSource(url).asCharSource(charset);
}
public static byte[] toByteArray(URL url) throws IOException {
return asByteSource(url).read();
}
public static String toString(URL url, Charset charset) throws IOException {
return asCharSource(url, charset).read();
}
@ParametricNullness
public static <T> T readLines(URL url, Charset charset, LineProcessor<T> lineProcessor) throws IOException {
return (T) asCharSource(url, charset).readLines(lineProcessor);
}
public static List<String> readLines(URL url, Charset charset) throws IOException {
return (List) readLines(url, charset, new LineProcessor<List<String>>() { // from class: com.google.common.io.Resources.1
final List<String> result = Lists.newArrayList();
@Override // com.google.common.io.LineProcessor
public List<String> getResult() {
return this.result;
}
@Override // com.google.common.io.LineProcessor
public boolean processLine(String str) {
this.result.add(str);
return true;
}
});
}
public static void copy(URL url, OutputStream outputStream) throws IOException {
asByteSource(url).copyTo(outputStream);
}
public static URL getResource(String str) {
URL resource = ((ClassLoader) MoreObjects.firstNonNull(Thread.currentThread().getContextClassLoader(), Resources.class.getClassLoader())).getResource(str);
Preconditions.checkArgument(resource != null, "resource %s not found.", str);
return resource;
}
public static URL getResource(Class<?> cls, String str) {
URL resource = cls.getResource(str);
Preconditions.checkArgument(resource != null, "resource %s relative to %s not found.", str, cls.getName());
return resource;
}
}