1. 程式人生 > >(Android)Android TXT檔案讀寫

(Android)Android TXT檔案讀寫

轉載網址:http://blog.csdn.net/wirelessqa/article/details/7807762

package com.wirelessqa.helper;



import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;


import org.apache.http.util.EncodingUtils;


import android.app.Activity;


public class FileAccess extends Activity {


/**
* 一、私有資料夾下的檔案存取(/data/data/包名/files)

* @param fileName
* @param message
*/
public void writeFileData(String fileName, String message) {
try {
FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);
byte[] bytes = message.getBytes();
fout.write(bytes);
fout.close();
} catch (Exception e) {
e.printStackTrace();
}
}


/**
* //讀檔案在./data/data/包名/files/下面

* @param fileName
* @return
*/
public String readFileData(String fileName) {
String res = "";
try {
FileInputStream fin = openFileInput(fileName);
int length = fin.available();
byte[] buffer = new byte[length];
fin.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
fin.close();
} catch (Exception e) {
e.printStackTrace();
}
return res;
}


/**
* 寫, 讀sdcard目錄上的檔案,要用FileOutputStream, 不能用openFileOutput
* 不同點:openFileOutput是在raw裡編譯過的,FileOutputStream是任何檔案都可以
* @param fileName
* @param message
*/
// 寫在/mnt/sdcard/目錄下面的檔案
public void writeFileSdcard(String fileName, String message) {


try {


// FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE);


FileOutputStream fout = new FileOutputStream(fileName);


byte[] bytes = message.getBytes();


fout.write(bytes);


fout.close();


}


catch (Exception e) {


e.printStackTrace();


}


}


// 讀在/mnt/sdcard/目錄下面的檔案


public String readFileSdcard(String fileName) {


String res = "";


try {


FileInputStream fin = new FileInputStream(fileName);


int length = fin.available();


byte[] buffer = new byte[length];


fin.read(buffer);


res = EncodingUtils.getString(buffer, "UTF-8");


fin.close();


}


catch (Exception e) {


e.printStackTrace();


}


return res;


}




/**
* 二、從resource中的raw資料夾中獲取檔案並讀取資料(資原始檔只能讀不能寫)

* @param fileInRaw
* @return
*/
public String readFromRaw(int fileInRaw) {
String res = "";
try {
InputStream in = getResources().openRawResource(fileInRaw);
int length = in.available();
byte[] buffer = new byte[length];
in.read(buffer);
res = EncodingUtils.getString(buffer, "GBK");
// res = new String(buffer,"GBK");
in.close();
} catch (Exception e) {
e.printStackTrace();
}
return res;
}


/**
* 三、從asset中獲取檔案並讀取資料(資原始檔只能讀不能寫)

* @param fileName
* @return
*/
public String readFromAsset(String fileName) {
String res = "";
try {
InputStream in = getResources().getAssets().open(fileName);
int length = in.available();
byte[] buffer = new byte[length];
in.read(buffer);
res = EncodingUtils.getString(buffer, "UTF-8");
} catch (Exception e) {
e.printStackTrace();
}
return res;
}






}

相關推薦

AndroidAndroid TXT檔案

轉載網址:http://blog.csdn.net/wirelessqa/article/details/7807762 package com.wirelessqa.helper; import java.io.FileInputStream; import java

Android-SDCard外部儲存檔案

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST

C/C++資訊隱txt檔案藏入BMP檔案

這一節是基於第二節的程式碼。下面是第二節的連結 這一節結束後,我們將把一個遠控程式的客戶端(潛伏者)放入BMP檔案中。 現在我們來看這一節:之txt檔案藏入BMP檔案 我們先建立一個1.txt檔案。檔案裡面儲存了資料,如下圖所示: 現在我來說明下程式的思路。

用numpy計算成交量加權平均價格VWAP,並實現文件

算法 txt log ack etx png del pack pan VWAP(Volume-Weighted Average Price,成交量加權平均價格)是一個非常重要的經濟學量,它代表著金融資產的“平均”價格。某個價格的成交量越高,該價格所

Linux C學習筆記——txt檔案

  /*************** perror(s) 用來將上一個函式發生錯誤的原因輸出到標準裝置(stderr)。引數 s 所指的字串會先打印出,後面再加上錯誤原因字串。此錯誤原因依照全域性變數errno的值來決定要輸出的字串。 FILE * fopen(const c

redis基礎簡介- jedis使用管道pipeline對redis進行使用hmset、hgetall測試

一般情況下,Redis Client端發出一個請求後,通常會阻塞並等待Redis服務端處理,Redis服務端處理完後請求命令後會將結果通過響應報文返回給Client。這有點類似於HBase的Scan,通常是Client端獲取每一條記錄都是一次RPC呼叫服務端。在Redis中,有沒有類似HBase Scan

分散式快取技術redis學習系列——Redis主從實現分離

前言 大家在工作中可能會遇到這樣的需求,即Redis讀寫分離,目的是為了壓力分散化。下面我將為大家介紹藉助AWS的ELB實現讀寫分離,以寫主讀從為例。 實現 引用庫檔案 <!-- redis客戶端 --> <dependency&g

原創python的字串和二進位制

python的文字讀寫和二進位制讀寫 筆者在之前的文件裡面提出過,scrapy框架本身存在大檔案下載的問題,因此產生了改造scrapy的想法,這裡在修改下載模組(FilesPipeline)的時候遇到了文字讀寫和二進位制讀寫的問題。 (scrapy具

PCIe學習筆記11--- 配置空間的請求

1. 有兩種型別的讀寫請求 分別是TYPE 0與1 2 TYPE 0的REQUEST HEADER中 TYPE FIELD = 00100 TYPE 1的REQUEST HEADER中 TYPE FIELD = 00101 3. 讀與寫的區別在於: REQUEST

python2.7中編碼問題以及txt檔案的注意事項

首先,要清楚一點:在py檔案和python動態直譯器(命令列)中,輸入中文字串編碼是不一樣的,動態直譯器中預設編碼環境是ansi,比較麻煩(也有解決辦法),建議在py檔案中處理編碼問題。 python2.7中的字串有兩種形式:str”…”和 unicode u

MFC中TXT檔案

文字檔案的讀寫 正確的文字檔案讀寫過程 1.定義檔案變數;2.開啟指定的檔案;3.向從文字檔案中寫入資訊;4.從文字檔案中讀取資訊;5.關閉檔案 1、定義檔案變數 定義檔案變數格式:CStdioFile 檔案變數; 例如,定義一個名稱為f1的檔案變數,語句如下:

Java執行緒總結:併發包------鎖ReadWriteLock的簡單例子詳細理解

初次接觸ReadWriteLock類時也在網上查了很多資料,很容易瞭解到ReadWriteLock是讀寫鎖,並且讀寫鎖的機制有以下三個特點:  讀鎖---讀鎖    (不互斥)  讀鎖---寫鎖     (互斥)  寫鎖---寫鎖     (互斥)什麼意思呢?網上很多資料,

Android開發2:資料儲存之一:SharedPrefrences和檔案

一、資料儲存 本文主要講前兩種儲存方式,其中檔案讀寫只記錄Internal Storage方式 1. SharedPrefrences方式 輕量級NVP方式儲存,以XML的檔案方式儲存,適合少量資料的儲存。 NVP:Name/Value pair, 名稱/值 對。 2.

關於Android中的檔案jniGetFDFromFileDescriptor

Java中常用的檔案讀寫的兩個類: 1.FileInputStream/FileOutputStream(FileReader/FileWriter) 2.RandomFileAccess FileInputSteam和FileOutputStream繼承於InputStream和OutputStre

Android檔案輸入流和輸出流操作總結附原始碼

Android中檔案讀寫操作 1. Android中檔案讀寫的原理: (1).所有檔案的儲存都是位元組的儲存。 (2).在磁碟上保留的並不是檔案的字元而是先把字元編碼成位元組,再儲存這些位元組到磁碟。 (3).在讀取檔案(

Android 通過adb測試機器速度rk

進入 adb下,執行如下命令: [email protected]:/ # dd if=/dev/zero of=data/ll.bin bs=1024576 count=256             //測試寫的速度 [email protecte

NOIP複賽複習檔案與數論模板

檔案讀入讀出 假設題目名為“add”,那麼資料夾名為“add”,c++程式名為“add.cpp”,讀入檔名為“add.in”,輸出檔名為“add.out”。四個的拼寫均不可有誤,包括大小寫差異。千萬不要除錯後就忘記修改檔案讀入讀出了。  #include<cstdio&

HDFS檔案操作 通俗易懂

首先來介紹兩個概念 ▪NameNode:領導級別。管 NameNode:領導級別。管理資料塊對映;處理客戶端的讀寫請求;配置副本策略;管理HDFS的名稱空間; DataNode:員工級別。負責儲存客戶端發來的資料塊block;執行資料塊的讀寫操作。 理資料 寫詳細步驟: 1、首先

python學習檔案

三種模式介紹:#r只讀模式,預設的,未指定模式時為只讀 r 開啟檔案不存在的話,會報錯 ; r+ 讀寫模式 #寫模式 w 會將原來檔案中的內容清空 開啟檔案不存在的話,會新建一個檔案 w+ 寫讀模式,雖然能讀,但是因為把檔案內容清空了,讀到的就是空 #追加模式 a+ 追加讀模式

python檔案指南

我們知道當檔案不存在的時候,open()方法的寫模式與追加模式都會新建檔案,但是對檔案進行判斷的場景還有很多,比如,在爬蟲下載圖片的時候,可能需要判斷檔案是否存在,以免重複下載;又比如,建立新檔案的時候,可能需要判斷檔案是否存在,存在就先做個備份......所以,學習判斷檔案是否存在,還是很有必要的