Kotlin File转ByteArray

方法1:

FileInputStream(this).use { input ->
    var offset = 0
    var remaining = this.length().toInt()
    val result = ByteArray(remaining)
    while (remaining > 0) {
        val read = input.read(result, offset, remaining)
        if (read < 0) break
        remaining -= read
        offset += read
    }
    if (remaining == 0) result else result.copyOf(offset)

方法2:

File(path).readBytes()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin 中,可以使用 Spring 的 MultipartFile 类来表示上传的文件,并且这个类可以从文件系统中的 File 对象中创建。下面是一个示例代码: ```kotlin import org.springframework.web.multipart.MultipartFile import java.io.File import java.io.FileInputStream import java.io.IOException fun fileToMultipart(file: File): MultipartFile { val inputStream = FileInputStream(file) return object : MultipartFile { override fun getName(): String = file.name override fun getOriginalFilename(): String = file.name override fun getContentType(): String = "application/octet-stream" override fun isEmpty(): Boolean = file.length() == 0L override fun getSize(): Long = file.length() override fun getBytes(): ByteArray = file.readBytes() override fun getInputStream(): FileInputStream = inputStream override fun transferTo(dest: File) { file.copyTo(dest) } } } ``` 这个函数接受一个 File 对象作为参数,并返回一个 MultipartFile 对象。这个函数创建了一个匿名的 MultipartFile 对象,它实现了 MultipartFile 接口的所有方法。在这个匿名对象中,我们使用了 File 对象的一些方法来实现 MultipartFile 接口中的方法,比如 getName,getSize 和 getBytes。最后,我们使用 file.copyTo(dest) 方法来将文件复制到目标位置。 使用这个函数可以将 File 对象换为 MultipartFile 对象,然后可以将它传递给 Spring MVC 的处理器方法或者其他需要 MultipartFile 对象的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值