Java 附加存储在data/data/com.package/files中的文件/

Java 附加存储在data/data/com.package/files中的文件/,java,android,private,Java,Android,Private,我想附加一个在中的文件 data/data/com.example.XXXX/files/THISFILE.txt 但是首先我应该将它导出到SD以便附加它, 我有下面的代码,但是没有创建hello.txt文件。。所以我无法连接它 public class exportar extends Activity { String from = "/data/data/com.example.XXXXXX/files/THISFILE.txt"; String to = "/sdcard/hello

我想附加一个在中的文件 data/data/com.example.XXXX/files/THISFILE.txt

但是首先我应该将它导出到SD以便附加它, 我有下面的代码,但是没有创建hello.txt文件。。所以我无法连接它

public class exportar extends Activity {


String from = "/data/data/com.example.XXXXXX/files/THISFILE.txt";
String to = "/sdcard/hello.txt";


public static boolean copyFile(String from, String to) {
    try {
        int bytesum = 0;
        int byteread = 0;
        File oldfile = new File(from);
        if (oldfile.exists()) {
            InputStream inStream = new FileInputStream(from);
            FileOutputStream fs = new FileOutputStream(to);
            byte[] buffer = new byte[1444];
            while ((byteread = inStream.read(buffer)) != -1) {
                bytesum += byteread;
                fs.write(buffer, 0, byteread);
            }
            inStream.close();
            fs.close();
        }
        return true;
    } catch (Exception e) {
        return false;
    }
}



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);




   Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_SUBJECT,"XXX");
    i.putExtra(Intent.EXTRA_TEXT   , ("XXX"));


     String file = "file://" + Environment.getExternalStorageDirectory()+"/hello.txt";


    Uri uri = Uri.parse(file);
    i.putExtra(Intent.EXTRA_STREAM, uri);



    finish();
    try {
        startActivity(Intent.createChooser(i, "xxxx."));



    } catch (android.content.ActivityNotFoundException ex) {


        finish();
    }
}
}
如有任何建议,将不胜感激

编辑1

我变了

String from = "/data/data/com.example.XXXXXX/files/THISFILE.txt";
String to = "/sdcard/hello.txt";

我之所以放置getDataDirectory,是因为它位于data/data/中,但如果它是n data/data/com.example.aa/files/THISFILE.txt,我不知道该怎么办


如果要将ruta_sd复制到sd的根目录中,则ruta_sd是正确的?

从不硬编码路径,因为from和to在各种设备上都会失败。另外,永远不要使用字符串连接来构建路径-使用适当的文件构造函数,并在需要Uri时使用Uri.fromFile从文件创建Uri。始终对路径使用相同的值,而不是重建为文件。最后,您可能需要在完成编写后进行同步:我回答了我的问题,我将字符串更改为文件s现在可以了吗?我不知道如何设置文件的路径,你能帮我吗?
File ruta_data = Environment.getDataDirectory();
File from = new File(ruta_data.getAbsolutePath(), "com.example.aa/files/THISFILE.txt");


File ruta_sd = Environment.getExternalStorageDirectory();
File to = new File(ruta_sd.getAbsolutePath(), "Hello.txt");