读取android项目中的文件 文件不能太大不然会报内存溢出java
import java.io.InputStream; import org.apache.http.util.EncodingUtils; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ReadActivity extends Activity { /** Called when the activity is first created. */ TextView tvtext; // 这些文件只读没法写入 // 不须要权限 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvtext = (TextView) findViewById(R.id.tvtext); String res = ""; try { // 读取raw文件夹中的txt文件,将它放入输入流中 // InputStream in = getResources().openRawResource(R.raw.ansi); // 读取assets文件夹中的txt文件,将它放入输入流中 InputStream in = getResources().getAssets().open("ansi.txt"); // 得到输入流的长度 int length = in.available(); // 建立字节输入 byte[] buffer = new byte[length]; // 放入字节输入中 in.read(buffer); // 得到编码格式 String type = codetype(buffer); // 设置编码格式读取TXT res = EncodingUtils.getString(buffer, type); // 关闭输入流 in.close(); tvtext.setText(res); } catch(Exception e) { // TODO: handle exception } } private String codetype(byte[] head) { byte[] codehead = new byte[4]; // 截取数组 System.arraycopy(head, 0, codehead, 0, 4); String code = ""; if(head[0] == -1 && head[1] == -2) { code = "UTF-16"; } else if(head[0] == -2 && head[1] == -1) { code = "Unicode"; } else if(head[0] == -17 && head[1] == -69 && head[2] == -65) code = "UTF-8"; else { code = "gb2312"; } return code; } }
版权声明:本文为博主原创文章,未经博主容许不得转载。android