Clarify that Java Stream IO sucks

This commit is contained in:
tarsin committed 2023-02-27 18:18:29 +08:00
1 parent 3973f5ef70
commit 695a4966b5
3 files changed
+9 -6

No files matched your search

@@ -22,7 +22,6 @@ import coil.decode.DecodeUtils
import coil.decode.FrameDelayRewritingSource
import coil.decode.isGif
import coil.disk.DiskCache
import com.hippo.sendTo
import com.hippo.ehviewer.EhApplication
import com.hippo.ehviewer.EhApplication.Companion.application
import com.hippo.ehviewer.EhDB
@@ -35,7 +34,7 @@ import com.hippo.ehviewer.coil.edit
import com.hippo.ehviewer.coil.read
import com.hippo.ehviewer.gallery.SUPPORT_IMAGE_EXTENSIONS
import com.hippo.image.Image.CloseableSource
import com.hippo.unifile.RawFile
import com.hippo.sendTo
import com.hippo.unifile.UniFile
import com.hippo.unifile.openInputStream
import com.hippo.unifile.openOutputStream
@@ -48,14 +47,12 @@ import okhttp3.executeAsync
import okio.buffer
import java.io.File
import java.io.FileInputStream
import java.io.FileOutputStream
import java.io.IOException
import java.nio.channels.FileChannel
import java.util.Locale
import kotlin.io.path.readText
private val client = EhApplication.okHttpClient
private val contentResolver = application.contentResolver
class SpiderDen(private val mGalleryInfo: GalleryInfo) {
private val mGid: Long = mGalleryInfo.gid
@@ -231,7 +228,7 @@ class SpiderDen(private val mGalleryInfo: GalleryInfo) {
}
fun saveToUniFile(index: Int, file: UniFile): Boolean {
(file.openOutputStream() as FileOutputStream).use { outputStream ->
file.openOutputStream().use { outputStream ->
outputStream.channel.use { outChannel ->
val key = EhCacheKeyFactory.getImageKey(mGid, index)
@@ -32,7 +32,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
public class RawFile extends UniFile {
class RawFile extends UniFile {
private static final String TAG = RawFile.class.getSimpleName();
@@ -5,10 +5,16 @@ import android.os.ParcelFileDescriptor.AutoCloseOutputStream
import java.io.FileInputStream
import java.io.FileOutputStream
/**
* Use Native IO/NIO directly if possible, unless you need process file content on JVM!
*/
fun UniFile.openInputStream(): FileInputStream {
return AutoCloseInputStream(openFileDescriptor("r"))
}
/**
* Use Native IO/NIO directly if possible, unless you need process file content on JVM!
*/
fun UniFile.openOutputStream(): FileOutputStream {
return AutoCloseOutputStream(openFileDescriptor("w"))
}