final String FILE_PATH="/data/data/com.android.hymake.ecard/";
final String FILE_NAME="CARD.XML";
final String TEXT_ENCODING = "UTF-8";
File file;
FileOutputStream out;
FileInputStream in;
String display;
//生成保存本机名片的XML文件并显示内容
private void generateLocalECardXml(){
try {
String infoToWriter = getLocalECardInfo();
out = this.openFileOutput(FILE_NAME, MODE_PRIVATE);
out.write(infoToWriter.getBytes());
Log.i(TAG, "filewrite:"+infoToWriter);
out.close();
Log.i(TAG, "create local ecard xml file successfully!");
in = this.openFileInput(FILE_NAME);
byte[] temp = new byte[1024];
int length = in.read(temp);
display = EncodingUtils.getString(temp, TEXT_ENCODING);
Log.i(TAG, "fileread:"+display);
in.close();
Toast.makeText(Ecard.this, display, Toast.LENGTH_LONG).show();
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e(TAG, e.getMessage());
}
}
//读取本机名片并生成XML形式的实符串
private String getLocalECardInfo() throws Exception{
StringBuffer xmlStr;
//获取名片表中第一条记录
mCardsCursor = mDbHelper.get(1, CardsDbAdapter.DATABASE_TB_CARDS);
if (mCardsCursor==null){
setListAdapter(null);
Log.e(TAG,"本机名片不在!");
throw new Exception("本机名片不在!");
}
xmlStr = new StringBuffer("<?xml version=\"1.0\" encoding=\"utf-8\"?><cardinfo>");
xmlStr.append("<username>").append(getNotNullStr(mCardsCursor.getString(1)))
.append("</username");
xmlStr.append("<phonenumber>").append(getNotNullStr(mCardsCursor.getString(3)))
.append("</phonenumber>");
xmlStr.append("<useraddress>").append(getNotNullStr(mCardsCursor.getString(4)))
.append("</useraddress>");
xmlStr.append("<usernote>").append(getNotNullStr(mCardsCursor.getString(5)))
.append("</usernote>");
xmlStr.append("</cardinfo>");
return xmlStr.toString();
}
public static String getNotNullStr(String str){
return null==str?"":str;
}
文件IO
最新推荐文章于 2024-05-13 20:11:59 发布