日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

getCacheDir用法

發布時間:2025/6/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 getCacheDir用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注: 在Activity中有 getFileDir() 和 getCacheDir(); 方法可以獲得當前的手機自帶的存儲空間中的當前包文件的路徑
getFileDir() ----- /data/data/cn.xxx.xxx(當前包)/files
getCacheDir() ----- /data/data/cn.xxx.xxx(當前包)/cache

  • ??
  • 1.?編寫文件讀取與寫入功能實現類?FileService ??
  • ??
  • ????package?cn.android.service; ??
  • ??
  • ????import?java.io.ByteArrayOutputStream; ??
  • ????import?java.io.FileInputStream; ??
  • ????import?java.io.FileOutputStream; ??
  • ??
  • ????import?android.content.Context; ??
  • ????import?android.util.Log; ??
  • ??
  • ????/** ?
  • ?????*?文件保存與讀取功能實現類 ?
  • ?????*?@author?Administrator ?
  • ?????* ?
  • ?????*?2010-6-28?下午08:15:18 ?
  • ?????*/??
  • ????public?class?FileService?{ ??
  • ??
  • ????????public?static?final?String?TAG?=?"FileService"; ??
  • ????????private?Context?context; ??
  • ??
  • ????????//得到傳入的上下文對象的引用 ??
  • ????????public?FileService(Context?context)?{ ??
  • ????????????this.context?=?context; ??
  • ????????} ??
  • ??
  • ????????/** ?
  • ?????????*?保存文件 ?
  • ?????????*? ?
  • ?????????*?@param?fileName?文件名 ?
  • ?????????*?@param?content??文件內容 ?
  • ?????????*?@throws?Exception ?
  • ?????????*/??
  • ????????public?void?save(String?fileName,?String?content)?throws?Exception?{ ??
  • ??
  • ????????????//?由于頁面輸入的都是文本信息,所以當文件名不是以.txt后綴名結尾時,自動加上.txt后綴 ??
  • ????????????if?(!fileName.endsWith(".txt"))?{ ??
  • ????????????????fileName?=?fileName?+?".txt"; ??
  • ????????????} ??
  • ???????????? ??
  • ????????????byte[]?buf?=?fileName.getBytes("iso8859-1"); ??
  • ???????????? ??
  • ????????????Log.e(TAG,?new?String(buf,"utf-8")); ??
  • ???????????? ??
  • ????????????fileName?=?new?String(buf,"utf-8"); ??
  • ???????????? ??
  • ????????????Log.e(TAG,?fileName); ??
  • ???????????? ??
  • ????????????//?Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中。可以使用Context.MODE_APPEND ??
  • ????????????//?Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。 ??
  • ????????????//?Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件。 ??
  • ????????????//?MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。 ??
  • ????????????//?如果希望文件被其他應用讀和寫,可以傳入: ??
  • ????????????//?openFileOutput("output.txt",?Context.MODE_WORLD_READABLE?+?Context.MODE_WORLD_WRITEABLE); ??
  • ??
  • ????????????FileOutputStream?fos?=?context.openFileOutput(fileName,?context.MODE_PRIVATE); ??
  • ????????????fos.write(content.getBytes()); ??
  • ????????????fos.close(); ??
  • ????????} ??
  • ??
  • ????????/** ?
  • ?????????*?讀取文件內容 ?
  • ?????????*? ?
  • ?????????*?@param?fileName?文件名 ?
  • ?????????*?@return?文件內容 ?
  • ?????????*?@throws?Exception ?
  • ?????????*/??
  • ????????public?String?read(String?fileName)?throws?Exception?{ ??
  • ??
  • ????????????//?由于頁面輸入的都是文本信息,所以當文件名不是以.txt后綴名結尾時,自動加上.txt后綴 ??
  • ????????????if?(!fileName.endsWith(".txt"))?{ ??
  • ????????????????fileName?=?fileName?+?".txt"; ??
  • ????????????} ??
  • ??
  • ????????????FileInputStream?fis?=?context.openFileInput(fileName); ??
  • ????????????ByteArrayOutputStream?baos?=?new?ByteArrayOutputStream(); ??
  • ??
  • ????????????byte[]?buf?=?new?byte[1024]; ??
  • ????????????int?len?=?0; ??
  • ??
  • ????????????//將讀取后的數據放置在內存中---ByteArrayOutputStream ??
  • ????????????while?((len?=?fis.read(buf))?!=?-1)?{ ??
  • ????????????????baos.write(buf,?0,?len); ??
  • ????????????} ??
  • ??
  • ????????????fis.close(); ??
  • ????????????baos.close(); ??
  • ??
  • ????????????//返回內存中存儲的數據 ??
  • ????????????return?baos.toString(); ??
  • ??
  • ????????} ??
  • ??
  • ????} ??
  • ??
  • 2.?編寫Activity類: ??
  • ????package?cn.android.test; ??
  • ??
  • ????import?android.app.Activity; ??
  • ????import?android.os.Bundle; ??
  • ????import?android.util.Log; ??
  • ????import?android.view.View; ??
  • ????import?android.widget.Button; ??
  • ????import?android.widget.EditText; ??
  • ????import?android.widget.Toast; ??
  • ????import?cn.android.service.FileService; ??
  • ??
  • ????public?class?TestAndroidActivity?extends?Activity?{ ??
  • ????????/**?Called?when?the?activity?is?first?created.?*/??
  • ???????? ??
  • ????????//得到FileService對象 ??
  • ????????private?FileService?fileService?=?new?FileService(this); ??
  • ????????//定義視圖中的filename輸入框對象 ??
  • ????????private?EditText?fileNameText; ??
  • ????????//定義視圖中的contentText輸入框對象 ??
  • ????????private?EditText?contentText; ??
  • ????????//定義一個土司提示對象 ??
  • ????????private?Toast?toast; ??
  • ??
  • ???????? ??
  • ????????@Override??
  • ????????public?void?onCreate(Bundle?savedInstanceState)?{ ??
  • ????????super.onCreate(savedInstanceState); ??
  • ????????setContentView(R.layout.main); ??
  • ?????????? ??
  • ????????//得到視圖中的兩個輸入框和兩個按鈕的對象引用 ??
  • ????????Button?button?=?(Button)this.findViewById(R.id.button); ??
  • ????????Button?read?=?(Button)this.findViewById(R.id.read); ??
  • ????????fileNameText?=?(EditText)?this.findViewById(R.id.filename); ??
  • ????????contentText?=?(EditText)?this.findViewById(R.id.content); ??
  • ???????? ??
  • ????????//為保存按鈕添加保存事件 ??
  • ????????button.setOnClickListener(new?View.OnClickListener()?{ ??
  • ????????????????@Override??
  • ????????????????public?void?onClick(View?v)?{ ??
  • ???????????????????? ??
  • ????????????????????String?fileName?=?fileNameText.getText().toString(); ??
  • ????????????????????String?content?=?contentText.getText().toString(); ??
  • ???????????????????? ??
  • ????????????????????//當文件名為空的時候,提示用戶文件名為空,并記錄日志。 ??
  • ????????????????????if(isEmpty(fileName))?{ ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.empty_filename,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.w(fileService.TAG,?"The?file?name?is?empty"); ??
  • ????????????????????????return; ??
  • ????????????????????} ??
  • ???????????????????? ??
  • ????????????????????//當文件內容為空的時候,提示用戶文件內容為空,并記錄日志。 ??
  • ????????????????????if(isEmpty(content))?{ ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.empty_content,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.w(fileService.TAG,?"The?file?content?is?empty"); ??
  • ????????????????????????return; ??
  • ????????????????????} ??
  • ???????????????????? ??
  • ????????????????????//當文件名和內容都不為空的時候,調用fileService的save方法 ??
  • ????????????????????//當成功執行的時候,提示用戶保存成功,并記錄日志 ??
  • ????????????????????//當出現異常的時候,提示用戶保存失敗,并記錄日志 ??
  • ????????????????????try?{ ??
  • ????????????????????????fileService.save(fileName,?content); ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.success,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.i(fileService.TAG,?"The?file?save?successful"); ??
  • ????????????????????}?catch?(Exception?e)?{ ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.fail,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.e(fileService.TAG,?"The?file?save?failed"); ??
  • ????????????????????} ??
  • ???????????????????? ??
  • ????????????????} ??
  • ????????}); ??
  • ???????? ??
  • ???????? ??
  • ????????//為讀取按鈕添加讀取事件 ??
  • ????????read.setOnClickListener(new?View.OnClickListener()?{ ??
  • ????????????????@Override??
  • ????????????????public?void?onClick(View?v)?{ ??
  • ???????????????????? ??
  • ????????????????????//得到文件名輸入框中的值 ??
  • ????????????????????String?fileName?=?fileNameText.getText().toString(); ??
  • ???????????????????? ??
  • ????????????????????//如果文件名為空,則提示用戶輸入文件名,并記錄日志 ??
  • ????????????????????if(isEmpty(fileName))?{ ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.empty_filename,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.w(fileService.TAG,?"The?file?name?is?empty"); ??
  • ????????????????????????return; ??
  • ????????????????????} ??
  • ???????????????????? ??
  • ????????????????????//調用fileService的read方法,并將讀取出來的內容放入到文本內容輸入框里面 ??
  • ????????????????????//如果成功執行,提示用戶讀取成功,并記錄日志。 ??
  • ????????????????????//如果出現異常信息(例:文件不存在),提示用戶讀取失敗,并記錄日志。 ??
  • ????????????????????try?{ ??
  • ????????????????????????contentText.setText(fileService.read(fileName)); ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.read_success,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.i(fileService.TAG,?"The?file?read?successful"); ??
  • ????????????????????}?catch?(Exception?e)?{ ??
  • ????????????????????????toast?=?Toast.makeText(TestAndroidActivity.this,?R.string.read_fail,?Toast.LENGTH_LONG); ??
  • ????????????????????????toast.setMargin(RESULT_CANCELED,?0.345f);??????????????????????????????????? ??
  • ????????????????????????toast.show();??? ??
  • ????????????????????????Log.e(fileService.TAG,?"The?file?read?failed"); ??
  • ????????????????????} ??
  • ????????????????} ??
  • ????????}); ??
  • ???????? ??
  • ???????? ??
  • ????????} ??
  • ???????? ??
  • ????????//編寫一個isEmpty方法,判斷字符串是否為空 ??
  • ????????private?boolean?isEmpty(String?s)?{ ??
  • ????????if(s?==?null?||?"".equals(s.trim()))?{ ??
  • ????????????return?true; ??
  • ????????} ??
  • ????????return?false; ??
  • ????????} ??
  • ???????? ??
  • ????}?
  • 轉載于:https://www.cnblogs.com/jiezzy/archive/2012/04/21/2462191.html

    總結

    以上是生活随笔為你收集整理的getCacheDir用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产真实伦对白全集 | 97狠狠操| 国产在线导航 | 狠狠干在线视频 | 精品孕妇一区二区三区 | 91麻豆视频网站 | 懂色视频在线观看 | 中国在线观看免费高清视频播放 | 69色堂| 久久综合久久久久 | 污污污www精品国产网站 | 九一在线视频 | 黑人三级视频 | 三级全黄做爰在线观看 | 亚洲福利久久 | 成年人观看视频 | 免费中文字幕日韩欧美 | 亚洲在线视频免费观看 | 久操资源网 | 国产精品777 | 91免费在线观看网站 | 可以免费看的黄色网址 | 亚欧美色图 | 丰满少妇乱子伦精品看片 | 亚洲看 | 欧洲日韩一区二区三区 | 夜夜躁很很躁日日躁麻豆 | 永久免费,视频 | 日韩欧美高清在线观看 | 色综合色综合网色综合 | 中文字幕超清在线观看 | 午夜偷拍福利 | 青青草精品在线视频 | 六月丁香在线视频 | xxxwww黄色| 999成人网| 夜夜骑av | 岛国av片| 国产激情视频在线播放 | 综合狠狠开心 | 91麻豆国产在线 | 国产精品久久一 | 午夜激情福利在线 | 9人人澡人人爽人人精品 | 国产一二三区av | 青青草国产在线播放 | 欧美久久天堂 | 国产精品久久久久久婷婷天堂 | 精品久久久久久久久久岛国gif | 欧美色图久久 | 红色假期黑色婚礼2 | 亚洲一区免费电影 | 91麻豆精品国产91久久久无需广告 | 亚洲乱码国产乱码精品 | 欧美精品一区二区三区久久久 | 国产日韩在线看 | 亚洲阿v天堂| 久久久久亚洲av成人网人人网站 | 蜜桃传媒一区二区亚洲av | 二区免费视频 | 欧美亚洲视频一区 | 男人天堂视频网站 | 激情午夜网 | 特级西西444www大胆免费看 | 毛片在线免费播放 | 男人插女人的网站 | 精品国模 | 双女主黄文| 懂色av一区二区三区免费 | 中国一级黄色 | 欧洲av无码放荡人妇网站 | 中文字幕欧美日韩 | 亚洲高清视频在线观看 | 大地资源影视在线播放观看高清视频 | 欧美一区二区三区在线免费观看 | www.操com | 麻豆视频入口 | 中文字幕在线播放日韩 | 99爱精品视频 | 少妇真人直播免费视频 | 成人av地址 | 日本涩涩视频 | 日韩精品一区二区电影 | 亚欧在线免费观看 | 日本一区二区在线免费 | h片在线观看免费 | 日韩亚洲欧美一区二区三区 | 欧美情侣性视频 | 国产一区视频观看 | 91日本在线 | fc2ppv色の美マンに中出し | 成人黄色小视频 | 日韩三区视频 | 国产精品三级 | 日本网站在线播放 | 成人av资源| 欧美a在线看 | 在线国产三级 | 污视频在线观看免费 |