我在此路径/data/data/my.app/files/new.xml中使用以下代码创建一个xml文件:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FileOutputStream fileos = null;
try{
fileos = openFileOutput("new.xml", MODE_PRIVATE);
}catch(FileNotFoundException e)
{
Log.e("FileNotFoundException",e.toString());
}
XmlSerializer serializer = Xml.newSerializer();
try{
serializer.setOutput(fileos, "UTF-8");
serializer.startDocument(null, Boolean.valueOf(true));
serializer.startTag(null, "root");
serializer.startTag(null, "Child1");
serializer.endTag(null, "Child1");
serializer.startTag(null, "Child2");
serializer.attribute(null, "attribute", "value");
serializer.endTag(null, "Child2");
serializer.startTag(null, "Child3");
serializer.text("Some text inside child 3");
serializer.endTag(null,"Child3");
serializer.endTag(null,"root");
serializer.endDocument();
serializer.flush();
fileos.close();
}catch(Exception e)
{
Log.e("Exception","Exception occured in wroting");
}
}
}
现在我想用socket发送这个文件,但我不知道如何以编程方式访问文件路径。 我已经尝试了Environment对象中的大多数文件夹,比如Environment.getDataDirectory()。getAbsolutePath()但只返回/ data。 如何访问此路径并读取我的xml文件?
我确实看到了this链接,但我找不到答案。
答案 0 :(得分:0)
要获取对您的私人文件夹的引用,您应该使用以下方法: getFilesDir()
此外,您必须声明此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>