• Android SD卡读写文件


    一、从sdcard中去读文件:

    首先要把文件通过\android-sdk-windows\tools\adb.exe,

    把本地计算机上的文件copy到sdcard上去,adb.exe push e:/Y.txt /sdcard/, 不可以用adb.exe push e:\Y.txt \sdcard\

    同样: 把仿真器上的文件copy到本地计算机上用: adb pull ./data/data/com.tt/files/Test.txt e:/

    String fileName = "/sdcard/Y.txt";
    //也可以用String fileName = "mnt/sdcard/Y.txt";
    String res="";     
    try{ 
    FileInputStream fin = new FileInputStream(fileName);
    //FileInputStream fin = openFileInput(fileName);  
    //用这个就不行了,必须用FileInputStream
        int length = fin.available(); 
        byte [] buffer = new byte[length]; 
        fin.read(buffer);     
        res = EncodingUtils.getString(buffer, "UTF-8"); 
        fin.close();     
        }catch(Exception e){ 
               e.printStackTrace(); 
    } 
    myTextView.setText(res);

    二、写文件:

    一般写在\data\data\com.test\files\里面,打开DDMS查看file explorer是可以看到仿真器文件存放目录的结构的

    String fileName = "TEST.txt";
       String message = "FFFFFFF11111FFFFF" ;
    writeFileData(fileName, message);
      
       public voidwriteFileData(String fileName,String message){ 
           try{ 
            FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE);
            byte [] bytes = message.getBytes(); 
            fout.write(bytes); 
             fout.close(); 
            } 
           catch(Exception e){ 
            e.printStackTrace(); 
           } 
       }    

    三、写, 读sdcard目录上的文件,要用FileOutputStream, 不能用openFileOutput:

       //写在/mnt/sdcard/目录下面的文件
       public voidwriteFileSdcard(String fileName,String message){ 
           try{ 
            //FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);
           FileOutputStream fout = newFileOutputStream(fileName);
            byte [] bytes = message.getBytes(); 
            fout.write(bytes); 
             fout.close(); 
            } 
           catch(Exception e){ 
            e.printStackTrace(); 
           } 
       }
      
       //读在/mnt/sdcard/目录下面的文件
       public String readFileSdcard(String fileName){
            String res=""; 
            try{ 
             FileInputStream fin = new FileInputStream(fileName); 
             int length = fin.available(); 
             byte [] buffer = new byte[length]; 
             fin.read(buffer);     
             res = EncodingUtils.getString(buffer, "UTF-8"); 
             fin.close();     
            } 
            catch(Exception e){ 
             e.printStackTrace(); 
            } 
            return res; 
       }
  • 相关阅读:
    Sencha Touch 框架快速入门系列
    dotTrace 使用说明
    CQRS架构中同步服务的一种实现方式
    C#中循环结构的效率问题
    面向领域驱动架构的查询实现方式
    最佳 jQuery
    DWZ&MVC的探索系列——Demo演示效果
    在Windows Azure中实现和调试一个WCF服务(上)
    现代软件工程开发体验:结对编程
    结对编程是什么?
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/2720929.html
Copyright © 2020-2023  润新知