Android 文件保存到應用和sd卡中

ecn5 9年前發布 | 2K 次閱讀 Java

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

</pre>

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);  
}</pre> 


 本文由用戶 ecn5 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!