首先要在资源目录Assets下存入文件
从asset中获取文件并读取数据(资源文件只能读不能写) String fileName = "yan.txt"; //文件名字 String res=""; try{ InputStream in = getResources().getAssets().open(fileName); // \Test\assets\yan.txt这里有这样的文件存在 int length = in.available(); byte [] buffer = new byte[length]; in.read(buffer); res = EncodingUtils.getString(buffer, "UTF-8"); }catch(Exception e){ e.printStackTrace(); }
Assets下可允许存在子目录,保持原始的文件格式,需要用AssetManager以字节流的形式读取文件,不能写入
代码 public String getFromAssets(String fileName){ try { InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) ); BufferedReader bufReader = new BufferedReader(inputReader); String line= "" ; String Result= "" ; while ((line = bufReader.readLine()) != null ) Result += line; return Result; } catch (Exception e) { e.printStackTrace(); } }
RAW与之不同,目录不能分包,只能写入原格式文件
也是通过流读取的,只是调用方法不同 getResources().getAssets().openRawResource(fileName)
