私は2つのボタン、1番目のボタンを使ってsdcardにxmlファイルを作成します。
とこのxmlを読むための2番目のボタン。
これは私のコードです:このコードでアンドロイドはsdcardからxmlを作成して読み込みます
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();
}
}
});
}
、それはSDカード上のTestFolderでTest.xmlを作成しました。
私はそれを読むことができません。
どのように修正するのですか?
ファイルを読みながら、あなたが取得しているエラーを共有してください。 –
java.io.FileNotFoundException:/mnt/sdcardTestFolder/Test.xml:オープンに失敗しました:java.ioのlibcore.io.IoBridge.open(IoBridge.java:416)のENOENT(そのようなファイルまたはディレクトリはありません) .FileInputStream。 –
abcd1234
エラーで、sdcardとTestFolderの間に '/'がないことがはっきりと分かります。 –