android 中读写xml文件时取得路径的方法/data/sdcard/src
2013-08-14 10:45
381 查看
package com.eboy.readwritexml; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import com.eboy.domain.Person; import com.eboy.readwritexml.R; import com.eboy.service.PersonService; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { Button btn1; Button btn2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1 = (Button) findViewById(R.id.button1);// read btn2 = (Button) findViewById(R.id.button2);// write btn1.setOnClickListener(listener); btn2.setOnClickListener(writeListener); } //写入按钮的监听 View.OnClickListener writeListener = new OnClickListener() { public void onClick(View paramView) { // TODO Auto-generated method stub List<Person> persons = new ArrayList<Person>(); persons.add(new Person(11, "aaa", 25)); persons.add(new Person(22, "bbb", 35)); persons.add(new Person(33, "ccc", 45)); //往data/data/本工程/files/person1.xml中写入的路径 // File xmlFile = new File(MainActivity.this.getFilesDir(), "/person1.xml"); // System.out.println("路径为:"+MainActivity.this.getFilesDir()+"/person1.xml"); //向sdcard中写入的路径 //在往sdcard中写入文件时,在manifest.xml中加一个权限 //<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> String file_path = File.separator + "sdcard" + File.separator + "aaa.xml"; File xmlFile = new File(file_path); try { FileOutputStream outStream = new FileOutputStream(xmlFile); PersonService.save(persons, outStream); System.out.println("写入成功"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; //读取的监听 View.OnClickListener listener = new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub //读取sdcard中内容的路径 String file_path = File.separator + "sdcard" + File.separator + "aaa.xml"; InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(file_path); //读取本工程下面的src文件夹下的person.xml文件 // InputStream inputStream = getClass().getClassLoader().getResourceAsStream("person.xml"); List<Person> persons; try { //读取/data/data/youPackageName/files的person1.xml文件 //打开/data/data/youPackageName/files的File。返回的是inputStream或者outputStream //InputStream inputStream = MainActivity.this.openFileInput("person1.xml"); persons = PersonService.getPersons(inputStream); for (Person person : persons) { Toast.makeText(getApplicationContext(), person.toString(), Toast.LENGTH_SHORT).show(); System.out.println("22222"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
参考自:http://blog.csdn.net/vvqiu/article/details/8551036
内部存储路径为/data/data/youPackageName/,下面讲解的各路径都是基于你自己的应用的内部存储路径下。所有内部存储中保存的文件在用户卸载应用的时候会被删除。
一、 files
1. Context.getFilesDir(),该方法返回/data/data/youPackageName/files的File对象。
2. Context.openFileInput()与Context.openFileOutput(),只能读取和写入files下的文件,返回的是FileInputStream和FileOutputStream对象。
3. Context.fileList(),返回files下所有的文件名,返回的是String[]对象。
4. Context.deleteFile(String),删除files下指定名称的文件。
二、cache
1. Context.getCacheDir(),该方法返回/data/data/youPackageName/cache的File对象。
三、custom dir
getDir(String name, int mode),返回/data/data/youPackageName/下的指定名称的文件夹File对象,如果该文件夹不存在则用指定名称创建一个新的文件夹。
相关文章推荐
- android 访问data目录、6.0模拟器读写sdcard、相关sdcard路径
- android 网络下载文件 和 读写sdcard 方法
- Android之内置和外置sdcard路径显示并且写入数据的方法
- Android获取SD卡路径及SDCard内存的方法
- Android 获取内置储存卡/外置储存卡(SD CARD)路径的方法
- Android开发中正确读写sdcard文件的方法
- android读取sdcard路径下的文件的方法
- Android获取SD卡路径及SDCard内存的方法
- 在android开发中正确读写sdcard文件的方法
- Android 6.0上sdcard和U盘路径获取和区分方法
- android开发步步为营之87:从sdcard或者data文件夹下读写数据
- Android 根目录和sdcard卡路径分析
- Android获取SDCard路径/Android获取存储器挂载点
- Android 根目录和sdcard卡路径分析
- Android中获取SDCard的目录路径
- Android SD卡路径问题以及如何获取SDCard 内存
- android_sdcard读写(三)
- android_sdcard读写(一)
- Android之怎么操作文件(读写以及保存到sdcard)
- Android_SDCard 的读写权限设置