Programing/Android / Java How to save database file to CSV? (DB를 CSV로 저장하기) 빅터크룸 2014. 11. 7. 13:36 public class ExportDatabaseCSVTask extends AsyncTask<String, Void, Boolean> { protected void onPreExecute() { dialog = new ProgressDialog(UsedListsActivity.this); dialog.setMessage("백업 중..."); dialog.show(); } @SuppressLint("SimpleDateFormat") protected Boolean doInBackground(final String... args) { File exportDir = new File(Environment.getExternalStorageDirectory(), ""); if (!exportDir.exists()) { exportDir.mkdirs(); } Date now = new Date(); SimpleDateFormat date = new SimpleDateFormat("yyyyMMddHHmm"); File file = new File(exportDir, "Sent_List_Backup_" + date.format(now) + ".csv"); try { if (file.createNewFile()) { System.out.println("File is created!"); System.out.println(file.getAbsolutePath()); } else { System.out.println("File already exists."); } CSVWriter csvWrite = new CSVWriter(new FileWriterWithEncoding(file,"euc-kr"), ','); Cursor curCSV = mDBHelper.fetchAllList(); csvWrite.writeNext(curCSV.getColumnNames()); int i = 0; curCSV.moveToFirst(); while(curCSV.moveToNext()) { i++; String arrStr[] ={String.valueOf(i), curCSV.getString(1), curCSV.getString(2)}; csvWrite.writeNext(arrStr); } csvWrite.close(); curCSV.close(); return true; } catch(SQLException sqlEx) { Log.e("MainActivity", sqlEx.getMessage(), sqlEx); return false; } catch (IOException e) { Log.e("MainActivity", e.getMessage(), e); return false; } } protected void onPostExecute(final Boolean success) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); } if (success) { Toast.makeText(UsedListsActivity.this, "백업 완료!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(UsedListsActivity.this, "백업 실패!", Toast.LENGTH_SHORT).show(); } } } 저작자표시 비영리 변경금지