作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
伙计们,我有一个问题,当我们在 android 中编写 xml 时,我的代码给出了一个异常作为权限被拒绝。谁能告诉我如何将其删除。
package com.ex.createXml;
import android.app.Activity;
import android.os.Bundle;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.xmlpull.v1.XmlSerializer;
import android.os.Environment;
import android.util.Log;
import android.util.Xml;
import android.widget.TextView;
public class createXml extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File newxmlfile = new File("/data/new.xml");
try{
newxmlfile.createNewFile();
}catch(IOException e)
{
Log.e("IOException", "Exception in create new File(");
}
FileOutputStream fileos = null;
try{
fileos = new FileOutputStream(newxmlfile);
}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.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", 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();
//TextView tv = (TextView)findViewById(R.);
}catch(Exception e)
{
Log.e("Exception","Exception occured in wroting");
}
}
}
最佳答案
File newxmlfile = new File("C:/new.xml");
您正在尝试在驱动器 C 上创建文件。Android 是基于 linux 的系统,因此那里没有驱动器。存储设备可以挂载到根目录(“/”)或任何其他文件夹。
为您的应用/data/<pakcage-name>
文件夹可用。试着在那里写。此外,您可以尝试写入外部存储,但您的程序需要获得许可才能执行此操作:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
这应该在您的 list 文件中提及。
阅读更多 here .
关于android - 如何在android中创建xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5181294/
我是一名优秀的程序员,十分优秀!