导入 - 导出数据文件

时间:2011-04-02 12:53:34

标签: android file

我将数据存储在/ 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 个答案:

答案 0 :(得分:2)

首先,您需要确保您拥有读取/写入数据的正确权限。

然后,您可以像这样获取应用程序的目录:

String myDir = act.getFilesDir();

关于Android的安全性和沙盒,我认为你的应用程序只能读/写这个目录。虽然SDCard访问更加开放:

您可以调用Environment.getExternalStorageDirectory()来获取SD卡的根路径,并使用它创建FileOutputStream。

一个很好的例子是h ere in stackoverlow