Android 文件保存到应用和sd卡中详解编程语言

1.权限添加   
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>   
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>   
   
  

public static String getDataFolderPath(Context paramContext) {   
        return Environment.getDataDirectory() + "/data/"   
                + paramContext.getPackageName() + "/files";   
    }   
   
    public static String getMyFileDir(Context context){   
        return context.getFilesDir().toString();   
    }   
       
    public static String getMyCacheDir(Context context){   
        return context.getCacheDir().toString();   
    }   
    /**  
     * @desc 保存内容到文件中  
     * @param fileName  
     * @param content  
     * @throws Exception  
     */   
    public static void save(Context context, String fileName, String content, int module) {   
        try {   
            FileOutputStream os = context.openFileOutput(fileName, module);   
            os.write(content.getBytes());   
            os.close();   
        } catch (Exception e) {   
            e.printStackTrace();   
        }   
    }   
       
    /**  
     * @desc 读取文件内容  
     * @param fileName  
     * @return  
     */   
    public static String read(Context context, String fileName){   
           
        try {   
            FileInputStream fis = context.openFileInput(fileName);   
            ByteArrayOutputStream bos = new ByteArrayOutputStream();   
            byte[] b = new byte[1024];   
            int len = 0;   
            while((len = fis.read(b)) != -1){   
                bos.write(b, 0, len);   
            }   
            byte[] data = bos.toByteArray();   
            fis.close();   
            bos.close();   
            return new String(data);   
        } catch (Exception e) {   
            e.printStackTrace();   
        }   
        return  null;   
    }   
       
       
    /**  
     * @desc 将文本内容保存到sd卡的文件中  
     * @param context  
     * @param fileName  
     * @param content  
     * @throws IOException  
     */   
    public static void saveToSDCard(Context context, String fileName, String content) throws IOException{   
           
        File file = new File(Environment.getExternalStorageDirectory(),fileName);   
        FileOutputStream fos = new FileOutputStream(file);   
        fos.write(content.getBytes());   
        fos.close();   
    }   
   
    /**  
     * @desc 读取sd卡文件内容  
     * @param fileName  
     * @return  
     * @throws IOException  
     */   
    public static String readSDCard(String fileName) throws IOException {   
           
        File file = new File(Environment.getExternalStorageDirectory(),fileName);   
        FileInputStream fis = new FileInputStream(file);   
        ByteArrayOutputStream bos = new ByteArrayOutputStream();   
        byte[] buffer =  new byte[1024];   
        int len = 0;   
        while((len = fis.read(buffer)) != -1)   
        {   
            bos.write(buffer, 0, len);   
        }   
        byte[]  data = bos.toByteArray();   
        fis.close();   
        bos.close();   
           
        return new String(data);   
    }

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/11053.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论