您的位置:首页 > 移动开发 > Android开发

android--读取sd卡中text文件

2016-04-26 18:11 435 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: