Ich benutze 2 Schaltfläche, 1. Schaltfläche zum Erstellen von XML-Datei in SD-Karte
und 2. Schaltfläche, um diese XML zu lesen.
dies ist mein Code:android erstellen und lesen xml von sdcard
String xml_root;
ListView lv_emp;
static final String KEY_NAME = "name";
static final String KEY_AGE = "age";
List<HashMap<String, String>> empHashmap;
List<ClassEmp> empList = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_empacc);
xml_root = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "\n" +
"<employees>" + "\n" +
"\t" + "<emp>" + "\n" +
"\t" + "\t" + "<name>" + "jame" + "</name>" + "\n" +
"\t" + "\t" + "<age>" + "17" + "</age>" + "\n" +
"\t" + "</emp>" + "\n" +
"\t" + "<emp>" + "\n" +
"\t" + "\t" + "<name>" + "natalie" + "</name>" + "\n" +
"\t" + "\t" + "<age>" + "20" + "</age>" + "\n" +
"\t" + "</emp>" + "\n" +
"</employees>";
Button bt_create2 = (Button)findViewById(R.id.bt_createfileT2);
bt_create2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
File newFolder = new File(Environment.getExternalStorageDirectory(), "TestFolder");
if (!newFolder.exists()) {
newFolder.mkdir();
}
File file = new File(newFolder, "Test" + ".xml");
if (!file.exists()) {
file.createNewFile();
FileOutputStream fOut = new FileOutputStream(file);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
myOutWriter.append(xml_root);
myOutWriter.close();
fOut.close();
}
} catch (Exception e) {
System.out.println("e: " + e);
}
}
});
Button bt_read2 = (Button)findViewById(R.id.bt_readfileT2);
bt_read2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
lv_emp = (ListView)findViewById(R.id.lv_Emp);
File file = new File(Environment.getExternalStorageDirectory() + "TestFolder/Test.xml");
InputStream is = new FileInputStream(file.getPath());
XmlPullParserEmp parser_Emp = new XmlPullParserEmp();
empList = parser_Emp.parse(is);
BinderDataEmp bd_Emp = new BinderDataEmp(Empacc.this, empHashmap);
lv_emp.setAdapter(bd_Emp);
}
catch (Exception e){
e.printStackTrace();
}
}
});
}
mit diesem Code, war es Test.xml in Testfolder auf SD-Karte erstellen.
aber ich kann es nicht lesen.
wie es zu beheben?
bitte den Fehler teilen, die Sie bekommen, während die Datei zu lesen. –
Ich sehe java.io.FileNotFoundException: /mnt/sdcardTestFolder/Test.xml: Öffnen fehlgeschlagen: ENOENT (Keine solche Datei oder Verzeichnis), bei libcore.io.IoBridge.open (IoBridge.java: 416), bei java.io .FileInputStream. –
abcd1234
können Sie deutlich in dem Fehler sehen, dass Sie kein '/' zwischen SD-Karte und TestFolder haben. –