亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Kotlin程序?qū)⑽募?File)與字節(jié)數(shù)組(byte [])相互轉(zhuǎn)換

Kotlin 實(shí)例大全

在此程序中,您將學(xué)習(xí)在Kotlin中將File對(duì)象轉(zhuǎn)換為byte [],byte []轉(zhuǎn)換為File對(duì)象。

在將文件轉(zhuǎn)換為字節(jié)數(shù)組之前,我們假設(shè)在src文件夾中有一個(gè)名為test.txt的文件。

這是test.txt的內(nèi)容

This is a
Test file.

示例1:將文件(File)轉(zhuǎn)換為byte[]

import java.io.IOException
import java.nio.file.Files
import java.nio.file.Paths
import java.util.Arrays

fun main(args: Array<String>) {

    val path = System.getProperty("user.dir") + "\\src\\test.txt"

    try {
        val encoded = Files.readAllBytes(Paths.get(path))
        println(Arrays.toString(encoded))
    } catch (e: IOException) {

    }
}

運(yùn)行該程序時(shí),輸出為:

[84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46]

在上面的程序中,我們將文件的路徑存儲(chǔ)在變量 path 中。

然后,在try塊中,我們使用readAllBytes()方法從給定的path讀取所有字節(jié)。

然后,我們使用Arrays的 toString()方法來打印字節(jié)數(shù)組。

由于readAllBytes()方法可能會(huì)拋出IOException,因此我們?cè)诔绦蛑惺褂昧?try-catch 塊。

示例2:將byte []轉(zhuǎn)換為文件(File)

import java.io.IOException
import java.nio.file.Files
import java.nio.file.Paths

fun main(args: Array<String>) {

    val path = System.getProperty("user.dir") + "\\src\\test.txt"
    val finalPath = System.getProperty("user.dir") + "\\src\\final.txt"

    try {
        val encoded = Files.readAllBytes(Paths.get(path))
        Files.write(Paths.get(finalPath), encoded)
    } catch (e: IOException) {

    }

}

運(yùn)行程序時(shí),test.txt的內(nèi)容將復(fù)制到final.txt。

在上述程序中,我們使用了與示例1相同的方法來從 path 中存儲(chǔ)的File中讀取所有字節(jié)。這些字節(jié)存儲(chǔ)在數(shù)組 encoded 中。

我們還有一個(gè)finalPath,用于寫入字節(jié)。

然后,我們只需使用Files的write()方法將編碼的字節(jié)數(shù)組寫入給定finalPath中的文件。

這是等效的Java代碼:將File轉(zhuǎn)換為byte []的Java程序,反之亦然

Kotlin 實(shí)例大全