ADD week 5
This commit is contained in:
		
							
								
								
									
										174
									
								
								02-Easy5/E5/sources/kotlin/io/TextStreamsKt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								02-Easy5/E5/sources/kotlin/io/TextStreamsKt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,174 @@ | ||||
| package kotlin.io; | ||||
|  | ||||
| import java.io.BufferedReader; | ||||
| import java.io.BufferedWriter; | ||||
| import java.io.InputStream; | ||||
| import java.io.Reader; | ||||
| import java.io.StringReader; | ||||
| import java.io.StringWriter; | ||||
| import java.io.Writer; | ||||
| import java.net.URL; | ||||
| import java.nio.charset.Charset; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.Unit; | ||||
| import kotlin.jvm.functions.Function1; | ||||
| import kotlin.jvm.internal.InlineMarker; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
| import kotlin.sequences.Sequence; | ||||
| import kotlin.sequences.SequencesKt; | ||||
| import kotlin.text.Charsets; | ||||
|  | ||||
| /* compiled from: ReadWrite.kt */ | ||||
| @Metadata(d1 = {"\u0000X\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\t\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\u001a\u0017\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\b\b\u0002\u0010\u0003\u001a\u00020\u0004H\u0087\b\u001a\u0017\u0010\u0000\u001a\u00020\u0005*\u00020\u00062\b\b\u0002\u0010\u0003\u001a\u00020\u0004H\u0087\b\u001a\u001c\u0010\u0007\u001a\u00020\b*\u00020\u00022\u0006\u0010\t\u001a\u00020\u00062\b\b\u0002\u0010\u0003\u001a\u00020\u0004\u001a\u001e\u0010\n\u001a\u00020\u000b*\u00020\u00022\u0012\u0010\f\u001a\u000e\u0012\u0004\u0012\u00020\u000e\u0012\u0004\u0012\u00020\u000b0\r\u001a\u0010\u0010\u000f\u001a\b\u0012\u0004\u0012\u00020\u000e0\u0010*\u00020\u0001\u001a\n\u0010\u0011\u001a\u00020\u0012*\u00020\u0013\u001a\u0010\u0010\u0014\u001a\b\u0012\u0004\u0012\u00020\u000e0\u0015*\u00020\u0002\u001a\n\u0010\u0016\u001a\u00020\u000e*\u00020\u0002\u001a\u0017\u0010\u0016\u001a\u00020\u000e*\u00020\u00132\b\b\u0002\u0010\u0017\u001a\u00020\u0018H\u0087\b\u001a\r\u0010\u0019\u001a\u00020\u001a*\u00020\u000eH\u0087\b\u001a5\u0010\u001b\u001a\u0002H\u001c\"\u0004\b\u0000\u0010\u001c*\u00020\u00022\u0018\u0010\u001d\u001a\u0014\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u000e0\u0010\u0012\u0004\u0012\u0002H\u001c0\rH\u0086\bø\u0001\u0000¢\u0006\u0002\u0010\u001e\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\u001f"}, d2 = {"buffered", "Ljava/io/BufferedReader;", "Ljava/io/Reader;", "bufferSize", "", "Ljava/io/BufferedWriter;", "Ljava/io/Writer;", "copyTo", "", "out", "forEachLine", "", "action", "Lkotlin/Function1;", "", "lineSequence", "Lkotlin/sequences/Sequence;", "readBytes", "", "Ljava/net/URL;", "readLines", "", "readText", "charset", "Ljava/nio/charset/Charset;", "reader", "Ljava/io/StringReader;", "useLines", "T", "block", "(Ljava/io/Reader;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class TextStreamsKt { | ||||
|     static /* synthetic */ BufferedReader buffered$default(Reader reader, int i, int i2, Object obj) { | ||||
|         if ((i2 & 1) != 0) { | ||||
|             i = 8192; | ||||
|         } | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         return reader instanceof BufferedReader ? (BufferedReader) reader : new BufferedReader(reader, i); | ||||
|     } | ||||
|  | ||||
|     private static final BufferedReader buffered(Reader reader, int i) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         return reader instanceof BufferedReader ? (BufferedReader) reader : new BufferedReader(reader, i); | ||||
|     } | ||||
|  | ||||
|     static /* synthetic */ BufferedWriter buffered$default(Writer writer, int i, int i2, Object obj) { | ||||
|         if ((i2 & 1) != 0) { | ||||
|             i = 8192; | ||||
|         } | ||||
|         Intrinsics.checkNotNullParameter(writer, "<this>"); | ||||
|         return writer instanceof BufferedWriter ? (BufferedWriter) writer : new BufferedWriter(writer, i); | ||||
|     } | ||||
|  | ||||
|     private static final BufferedWriter buffered(Writer writer, int i) { | ||||
|         Intrinsics.checkNotNullParameter(writer, "<this>"); | ||||
|         return writer instanceof BufferedWriter ? (BufferedWriter) writer : new BufferedWriter(writer, i); | ||||
|     } | ||||
|  | ||||
|     public static final List<String> readLines(Reader reader) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         final ArrayList arrayList = new ArrayList(); | ||||
|         forEachLine(reader, new Function1<String, Unit>() { // from class: kotlin.io.TextStreamsKt$readLines$1 | ||||
|             /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */ | ||||
|             { | ||||
|                 super(1); | ||||
|             } | ||||
|  | ||||
|             @Override // kotlin.jvm.functions.Function1 | ||||
|             public /* bridge */ /* synthetic */ Unit invoke(String str) { | ||||
|                 invoke2(str); | ||||
|                 return Unit.INSTANCE; | ||||
|             } | ||||
|  | ||||
|             /* renamed from: invoke, reason: avoid collision after fix types in other method */ | ||||
|             public final void invoke2(String it) { | ||||
|                 Intrinsics.checkNotNullParameter(it, "it"); | ||||
|                 arrayList.add(it); | ||||
|             } | ||||
|         }); | ||||
|         return arrayList; | ||||
|     } | ||||
|  | ||||
|     public static final <T> T useLines(Reader reader, Function1<? super Sequence<String>, ? extends T> block) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(block, "block"); | ||||
|         BufferedReader bufferedReader = reader instanceof BufferedReader ? (BufferedReader) reader : new BufferedReader(reader, 8192); | ||||
|         try { | ||||
|             T invoke = block.invoke(lineSequence(bufferedReader)); | ||||
|             InlineMarker.finallyStart(1); | ||||
|             CloseableKt.closeFinally(bufferedReader, null); | ||||
|             InlineMarker.finallyEnd(1); | ||||
|             return invoke; | ||||
|         } finally { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private static final StringReader reader(String str) { | ||||
|         Intrinsics.checkNotNullParameter(str, "<this>"); | ||||
|         return new StringReader(str); | ||||
|     } | ||||
|  | ||||
|     public static final Sequence<String> lineSequence(BufferedReader bufferedReader) { | ||||
|         Intrinsics.checkNotNullParameter(bufferedReader, "<this>"); | ||||
|         return SequencesKt.constrainOnce(new LinesSequence(bufferedReader)); | ||||
|     } | ||||
|  | ||||
|     public static final String readText(Reader reader) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         StringWriter stringWriter = new StringWriter(); | ||||
|         copyTo$default(reader, stringWriter, 0, 2, null); | ||||
|         String stringWriter2 = stringWriter.toString(); | ||||
|         Intrinsics.checkNotNullExpressionValue(stringWriter2, "buffer.toString()"); | ||||
|         return stringWriter2; | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ long copyTo$default(Reader reader, Writer writer, int i, int i2, Object obj) { | ||||
|         if ((i2 & 2) != 0) { | ||||
|             i = 8192; | ||||
|         } | ||||
|         return copyTo(reader, writer, i); | ||||
|     } | ||||
|  | ||||
|     public static final long copyTo(Reader reader, Writer out, int i) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(out, "out"); | ||||
|         char[] cArr = new char[i]; | ||||
|         int read = reader.read(cArr); | ||||
|         long j = 0; | ||||
|         while (read >= 0) { | ||||
|             out.write(cArr, 0, read); | ||||
|             j += read; | ||||
|             read = reader.read(cArr); | ||||
|         } | ||||
|         return j; | ||||
|     } | ||||
|  | ||||
|     private static final String readText(URL url, Charset charset) { | ||||
|         Intrinsics.checkNotNullParameter(url, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(charset, "charset"); | ||||
|         return new String(readBytes(url), charset); | ||||
|     } | ||||
|  | ||||
|     static /* synthetic */ String readText$default(URL url, Charset charset, int i, Object obj) { | ||||
|         if ((i & 1) != 0) { | ||||
|             charset = Charsets.UTF_8; | ||||
|         } | ||||
|         Intrinsics.checkNotNullParameter(url, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(charset, "charset"); | ||||
|         return new String(readBytes(url), charset); | ||||
|     } | ||||
|  | ||||
|     public static final byte[] readBytes(URL url) { | ||||
|         Intrinsics.checkNotNullParameter(url, "<this>"); | ||||
|         InputStream openStream = url.openStream(); | ||||
|         try { | ||||
|             InputStream it = openStream; | ||||
|             Intrinsics.checkNotNullExpressionValue(it, "it"); | ||||
|             byte[] readBytes = ByteStreamsKt.readBytes(it); | ||||
|             CloseableKt.closeFinally(openStream, null); | ||||
|             return readBytes; | ||||
|         } finally { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static final void forEachLine(Reader reader, Function1<? super String, Unit> action) { | ||||
|         Intrinsics.checkNotNullParameter(reader, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(action, "action"); | ||||
|         BufferedReader bufferedReader = reader instanceof BufferedReader ? (BufferedReader) reader : new BufferedReader(reader, 8192); | ||||
|         try { | ||||
|             Iterator<String> it = lineSequence(bufferedReader).iterator(); | ||||
|             while (it.hasNext()) { | ||||
|                 action.invoke(it.next()); | ||||
|             } | ||||
|             Unit unit = Unit.INSTANCE; | ||||
|             CloseableKt.closeFinally(bufferedReader, null); | ||||
|         } finally { | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user