android txt文件读写(读取资源文件,读取私有和SD文件的方法)
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 { /** * 一、私有文件夹下的文件存取(/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; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。