android讀取本地文件
Ⅰ Android開發之如何讀寫文件
【轉】
首先介紹如何存儲數據,顯然,要將數據從應用中輸出到文件中,必須得到一個輸出流outPutStream,然後往輸出流中寫入數據,在這里Android自帶了一個得到應用輸出流的方法
FileOutputStream fos =context.openFileOutput(「yuchao.txt」,Context.MODE_PRIVATE); (1)
其中第一個屬性為文件名,第二個屬性為讀寫模式(有關讀寫模式的說明下面將詳細闡述),
然後在文件輸出流fos中便可以寫入數據
Fos.write(「Hi,」I』m Chao Yu!」.getBytes());
用完文件輸出流之後記得關閉
fos.close();
這樣,在/data/data/packageName/file目錄下就生成了一個文件名為yuchao.txt的文件,文件中的內容為」 Hi,I』m Chao Yu!」
有關(1)中讀寫模式其實就是制定創建文件的許可權以及在讀寫的時候的方式,Android中提供了以下幾種讀寫模式
Context.MODE_PRIVATE = 0
該模式下創建的文件其他應用無權訪問,並且本應用將覆蓋原有的內容
Context.MODE_APPEND = 32768
該模式下創建的文件其他應用無權訪問,並且本應用將在原有的內容後面追加內容
Context.MODE_WORLD_READABLE = 1
該模式下創建的文件其他應用有讀的許可權
Context.MODE_WORLD_WRITEABLE = 2
該模式下創建的文件其他應用有寫的許可權
如果需要將文件設置為外部應用可以讀寫,可將讀寫模式設置為Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
一般情況下,各個應用維護的數據都在一個特定的文件夾中,即上面所提到的/data/data/packageName/file(存在於手機存儲中),但手機內存畢竟有限,所以有些情況下,我們需要往SD卡中寫入數據文件,這其實和普通的java web 應用步驟一樣,都是先創建特針對特定目錄特定文件的輸出流,然後往輸出流中寫數據,這里要注意一個方法,就是獲取SD卡根目錄的方法,隨著Android系統不斷升級,SD卡的根目錄隨時都有可能改變,Android中得到SD卡根目錄的方法是
File sdCardDir = Environment.getExternalStorageDirectory();
然後就可以進行下面的步驟
File saveFile = new File(sdCardDir, 「yuchao.txt」);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("Hi,I』m ChaoYu".getBytes());
outStream.close();
值得注意的是,在往SD卡中寫數據的時候,健壯的代碼必須考慮SD卡不存在或者防寫的情況,故在寫入之前,先做判斷
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
……
}
接著,我們來學習下我們的應用程序如何讀取文件中的數據,其實就是寫的逆向過程
若要讀取應用程序默認維護的文件(即/data/data/packageName/file目錄下的文件),首先得到文件輸入流
FileInputStream istream = this.context.openFileInput(「yuchao.txt」);
然後在內存中開辟一段緩沖區
byte[] buffer = new byte[1024];
然後創建一個位元組數組輸出流
ByteArrayOutputStream ostream = new ByteArrayOutputStream();
讀出來的數據首先放入緩沖區,滿了之後再寫到字元輸出流中
while((len=istream.read(buffer))!=-1){
ostream.write(buffer, 0, len);
}
最後關閉輸入流和輸出流
istream.close();
ostream.close();
將得到的內容以字元串的形式返回便得到了文件中的內容了,這里的流操作較多,故以一張圖片來說明,見圖1
return new String(ostream.toByteArray());
從SD卡中讀取數據與上述兩個步驟類似,故不再贅述,留給讀者自己思考
如在開發過程中進行SD卡地讀寫,切忌忘了加入許可權
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
至此,Android系統中有關文件數據的讀寫介紹完畢。
Ⅱ unity發布安卓怎麼讀取本地文件
如果是讀Android系統的文件,比如sd卡的,需要另外接入Android層代碼,用java去調用Android層的東西,類似做個sdk接入unity,一般就一個jar包就行。
如果你是做熱更新,讀取自己的東西,可以放在StreamingAssets文件夾下,這樣發布完直接可以讀,用www類讀Application.streamingAssetsPath目錄即可,目錄前面不需要加file://,要是熱更新,讀完這些文件放在Application.persistentDataPath,就可以讀寫了
Ⅲ Android讀取本地json文件的方法
本文實例講述了Android讀取本地json文件的方法。分享給大家供大家參考,具體如下:
1、讀取本地JSON ,但是顯示漢字亂碼
public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader( context.getResources().getAssets().open(fileName))); while ((jsonString=bufferedReader.readLine())!=null) { resultString+=jsonString; } } catch (Exception e) { // TODO: handle exception } return resultString;}
2、讀取本地JSON,顯示漢字正確,txt文件設置時UTF-8,UNIX
public static String readLocalJson(Context context, String fileName){ String jsonString=""; String resultString=""; try { InputStream inputStream=context.getResources().getAssets().open(fileName); byte[] buffer=new byte[inputStream.available()]; inputStream.read(buffer); resultString=new String(buffer,"GB2312"); } catch (Exception e) { // TODO: handle exception } return resultString;}
Ⅳ android 如何讀寫文件
讀文件:
1、通過File獲取文件
2、打開輸入流,讀取文件
寫文件:
1、創建文件
2、打開輸出流,寫入文件內容
示例:
讀文件:
Stringcontent="";//文件內容字元串
//通過路徑/sdcard/foo.txt打開文件
Filefile=newFile("/sdcard/foo.txt");
try{
InputStreaminstream=newFileInputStream(file);//讀取輸入流
InputStreamReaderinputreader=newInputStreamReader(instream);//設置流讀取方式
BufferedReaderbuffreader=newBufferedReader(inputreader);
while((line=buffreader.readLine())!=null){
content+=line+" ";//讀取的文件內容
}
}catch(Exceptionex){
}
寫文件:
Filefile=newFile("/sdcard/foo.txt");//
if(!file.exists())
file.createNewFile();//如果文件不存在,創建foo.txt
try{
OutputStreamoutstream=newFileOutputStream(file);//設置輸出流
OutputStreamWriterout=newOutputStreamWriter(outstream);//設置內容輸出方式
out.write("文字內容");//輸出內容到文件中
out.close();
}catch(java.io.IOExceptione){
e.printStackTrace();
}
Ⅳ android怎麼載入本地html文件
1。獲取資源的輸入流
資源文件 sample.txt 位於 $PROJECT_HOME/assets/ 目錄下,可以在 Activity 中通過
Context.getAssets().open(「test.html」)
方法獲取輸入流。
注意:如果資源文件是文本文件則需要考慮文件的編碼和換行符。建議使用UTF-8和Unix換行符。
2. WebView 載入assets目錄下的html文件
資源文件 sample.html 位於 $PROJECT_HOME/assets/ 目錄下,可以通過以下代碼
WebView.loadUrl(「file:///android_asset/test.html」);
載入html文件。
Ⅵ Android應用程序怎樣獲取讀取系統文件的許可權
Android應用程序怎樣獲取讀取系統文件的許可權
1、必須是Android系統開發人員,否則你無法修改init.rc等文件。 2、你的應用程序必須要獲得system許可權。
在應用層 你要想用代碼獲得系統文件許可權,除非你手機root了
要麼你自己坐rom。。。。 自己修改 init,rc
具體可以參考這篇博文::blog.sina../s/blog_5f35912f0100w4ld.
怎樣使Android應用程序獲得root許可權
可以參考如下內容:
按照 Simon 的文章中提到的,應用程序有以下兩種辦法臨時獲得 root 許可權:
1) 實現一個 init 實現一個 Service ,來幫助 Android 應用程序執行 root 許可權的命令。
2) 實現一個虛擬設備,這個設備幫助 Android 應用程序執行 root 許可權的命令。
第二種辦法我這里沒有嘗試,暫時也不會。這里講講我在實現第一種辦法做擾物的過程和遇到的一些問題。
1. 將我們要執行的命令寫成腳本,或者可執行程序。
下面是我的腳本 ifconfig_test.sh :
# ! /system/bin/sh
ifconfig
注意: 腳本的第一行必須為 # ! /system/bin/sh ,否則無法執行,通過 dmesg 可以查看到信息內容為cannot execve ./ifconfig_test.sh: Exec format error
android應用程序獲取了root許可權,依然不能訪問系統data目錄下的文件
- Root後授權Re文件管理器許可權可以訪問。
-
授權管理----允許Re獲取許可權。
-
Root是獲取手機的管理員用戶帳戶,它可以訪問和修改手機操作系統里幾乎所有的文件,這樣操作有可能影響到手機的穩定性,導致出現人為性故障現象,如死機、重啟等。依據「消費者三包規定」Root屬於修改操作系統軟體,不屬於包修范圍李轎。
android應用程序如何獲取View的坐標
public boolean onTouchEvent(android.view.MotionEvent event) { int x = event.getX(); int y = event.getY(); 多點觸摸時 假如是第i個點 int x = event.getX(i); int y = event.getY(i); 坐標就是 P(x,y) }
如何使Android應用程序獲得root許可權
下載並安裝好騰訊手機管家PC版之後,打開該軟體並進入工具箱,你會發現「一鍵ROOT」和「KingRoot」兩款工具。通過USB 將手機同電腦連接後,無論選擇那純液款工具,用戶都可以通過簡單的滑鼠點擊,完成之前難以達成的任務。選擇「一鍵ROOT」按鈕後,應用工具將智能匹配手機系統,尋找最適合該手機的ROOT方案,幾分鍾之後,用戶手機即可成功獲得ROOT許可權。
Android應用程序獲得root許可權
在獲取root許可權後可以批量卸載系統自帶應用
並且可以批量備份,在卸載系統應用之前先備份一次
然後就可以安心卸載系統自帶應用了,
我一直是在用應用寶的手機管理軟體在工具
箱的常用工具中找到一鍵ROOT工具,
點擊啟動該工具便可以輕松的實現手機一鍵ROOT。
此外,你還可以點擊一鍵優化按鈕來優化
手機建議一鍵優化,選擇您需要的單個優化項,如垃圾緩存清理。
你可以嘗試安裝Kingroot授權管理軟體,或者安裝一鍵root大師軟體進行root操作,只要你嘗試root操作,一定可以root成功的。
Root許可權的獲取方式: 1.用手機連接電腦,下載一鍵root工具。 2.下載成功後,打開一鍵ROOT軟體。會出現root准備,點擊下一步,正式開始root。 3.檢查root條件,要是需要文件備份的話,一定要備份後。點擊開始ROOT。 4.root正式開始,需要幾鍾左右時間,期間可能會重啟數次,root就會完成。 5.root完成後,就可以隨意刪除手機中的垃圾應用了包括系統應用。
Android system 要獲取Root許可權, 方法眾多。
例如 : Bai Root, Amazing Root ...都可以
現以 BAIDU ROOT介紹步驟, 操作如下 :
1、機子下載 BAIDU ROOT(APK版)。
2、運作 BAIDU ROOT, 點選 "一鍵獲取Root"。
3、機子 Root 成功了, 自動重啟 。
PS:建議Rooting前備份手機數據。 Rooting過程約需時5min。
你可以試試刷機精靈,蘑菇雲,深度刷機,Z4ROOT,甜椒等等,,,注意ROOT後,必須安裝SUPERUSER,用於許可權的管理,否則將沒有任何作用,,,其實手機端也有很多,你可以到安卓軟體站搜索ROOT,下載並安裝,進行ROOT破解即可,,,不過解決方法會少很多,最好是電腦端ROOT破解。。。。刷機工具,可以到XIAZAIBA下載、。、