Clarify that Java Stream IO sucks
This commit is contained in:
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"))
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user