Kotlin 的子线程从asstes中读取文件保存到手机本地

第一步:打开一个异步线程

   Thread(object : Runnable {
                override fun run() {
                    //读取与写入
                    setScript()
                    val msg = Message.obtain()
                    msg.obj = "信息"
                    //返回主线程
                    myHandler.sendMessage(msg)
                }
            }).start()

第二步:setScript()

    fun setScript(){
        //读取assets中的文件
        var inputStream: InputStream = assets.open("script.pck")
        //保存到手机的路劲
        val appDir = File(fileStr1 + "/asset")
        if (!appDir.exists()) {
            appDir.mkdir()
        }
        val file = File(appDir, "script.pck")
        val fos = FileOutputStream(file)
        var bytes: ByteArray = ByteArray(1024)
        var byteCount: Int = inputStream.read(bytes)
        while (byteCount !== -1) {
            fos.write(bytes, 0, byteCount)
            byteCount = inputStream.read(bytes)
        }
        fos.flush()
        inputStream.close()
        fos.close()
    }

以上就是Kotlin启动异步线程读取和写入文件。

原文地址:https://www.cnblogs.com/niupi/p/11647928.html

时间: 2024-07-28 23:53:34

Kotlin 的子线程从asstes中读取文件保存到手机本地的相关文章

文件_ _android从资源文件中读取文件流并显示的方法

======== 1   android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private void doRaw(){ InputStream is = this.getResources().openRawResource(R.raw.ziliao); try{ doRead(is); }catch(IOException e){ e.printStackTrace(); } } pri

PHP中读取文件的几个方法

整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE. <?ph

[笨木头Unity3D]杂记003&#183;Unity在Android中读取文件

这周被一个问题给折腾了几个晚上,那就是在Android中读取文件,这本是一件很简单的事情,可想象总是美好的. 笨木头花心贡献,啥?花心?不,是用心. 转载请注明,原文地址:http://www.benmutou.com/archives/2094 文章来源:笨木头与游戏开发 1.在电脑上读取文件 首先要解决的当然是在电脑上读取文件了,这个并不难,网上一堆资料. 比如: public static string LoadFile(string filePath) { string url = Ap

Java中读取文件

Java中读取文件,去除一些分隔符,保存在多维数组里面 1 public void readFile(String filePath) 2 { 3 File file=new File(filePath); 4 ArrayList<String[]> dataArray=new ArrayList<String[]>(); 5 try{ 6 String str=new String(); 7 BufferedReader in=new BufferedReader(new Fil

R中读取文件,找不到路径问题 No such file or directory

  R中读取文件,找不到路径问题 No such file or directory 近日,读取文件时.出现例如以下问题 > passenger = read.csv('international-airline-passengers.csv',sep=',') Error in file(file, "rt") : 无法打开链结 此外: Warning message: In file(file, "rt") : 无法打开文件'international-a

用adb pull命令从android系统中读取文件失败的原因及解决办法

问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的文件权限为: -rw-rw---- app_51   app_51 也就是说,该文件只有app_51用户以及app_51群组拥有读写权限,而adb shell的用户为shell,既不是app_51用户,也不在app_51群组中,所以没有权限读取这个文件.所以就出现了 Permission denied. 解决方法:

android 从assets和res中读取文件

11. assets文件夹资源的访问 assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用getAssets()来获取AssetManager引用. 2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream. 3. 然后就是用已经open file 的inputStream读取文件,读取

B.php中读取文件内容的几种方法

php中读取文件内容的几种方法 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE. <?php $filename

怎么在CAD中设置文件保存的格式

不知道小伙伴们在CAD编辑器中进行CAD制图的过程中有没有遇到过这样的问题,就是在CAD编辑器中绘制的CAD图纸绘制完成后,我们都是会将CAD图纸进行保存的,以便下次方便打开查看,但是经常遇到的情况是保存的图纸文件打不开了,这是为什么呢!这个可能和我们保存文件的格式有关系,那怎么在CAD中设置文件保存的格式呢?那下面我们就一起来看看解决方法吧! 第一步:首先,在电脑桌面中任意打开一个浏览器,在浏览器中搜索迅捷CAD编辑器,进入官网,然后根据系统提示的安装步骤进行安装最新版本的CAD编辑器进行使用