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