![JAR search and dependency download from the Maven repository](/logo.png)
kshark.FileSourceProvider.kt Maven / Gradle / Ivy
package kshark
import okio.Buffer
import okio.BufferedSource
import okio.Okio
import okio.Source
import java.io.File
class FileSourceProvider(private val file: File) : DualSourceProvider {
override fun openStreamingSource(): BufferedSource = Okio.buffer(Okio.source(file.inputStream()))
override fun openRandomAccessSource(): RandomAccessSource {
val channel = file.inputStream().channel
return object : RandomAccessSource {
override fun read(
sink: Buffer,
position: Long,
byteCount: Long
) = channel.transferTo(position, byteCount, sink)
override fun close() = channel.close()
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy