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