Импорт-экспорт файла данных - PullRequest
0 голосов
/ 02 апреля 2011

Я храню свои данные в файле в / data / data / .....! И я хочу добавить функцию импорта-экспорта в моем приложении, которая создает резервную копию файла на SDCARD и импортирует его (и приложение автоматически читает его). Как я могу это сделать? Спасибо. Так это правда?

public class Import {
    public static void transfer(){  
    File sdCard = Environment.getExternalStorageDirectory();
    File dir = new File (sdCard.getAbsolutePath() + "/SDCARD/Carburant");
    dir.mkdirs();
    copyfile("/data/data/carburant.android.com/files/","/SDCARD/Carburant/storeddata");

}

    private static void copyfile(String srFile, String dtFile){
        try{
          File f1 = new File("/data/data/carburant.android.com/files/");
          File f2 = new File("/SDCARD/Carburant/storeddata");
          InputStream in = new FileInputStream(f1);
          OutputStream out = new FileOutputStream(f2);

          byte[] buf = new byte[1024];
          int len;
          while ((len = in.read(buf)) > 0){
            out.write(buf, 0, len);
          }
          in.close();
          out.close();
          System.out.println("File copied.");
        }
        catch(FileNotFoundException ex){
          System.out.println(ex.getMessage() + " in the specified directory.");
          System.exit(0);
        }
        catch(IOException e){
          System.out.println(e.getMessage());      
        }
      }

    }

1 Ответ

2 голосов
/ 02 апреля 2011

Прежде всего вам необходимо убедиться, что у вас есть необходимые разрешения для чтения / записи данных.

Затем вы можете получить каталог для своего приложения, например:

String myDir = act.getFilesDir();

ОтносительноЯ думаю, что безопасность и песочница Android - ваше приложение сможет только читать / писать в этот каталог.Хотя доступ к SDCard более открыт:

Вы можете вызвать Environment.getExternalStorageDirectory (), чтобы получить корневой путь к SD-карте и использовать его для создания FileOutputStream.

Хорошим примером является h ere в stackoverlow .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...