Read File
read file by path in “/data/data/appName/appPackageName/files”: 
use method openFileInput(String fileName) of class Context. 
example:
public String read(String fileName) throws Exception {
        try (FileInputStream input = context.openFileInput(fileName)) {
            StringBuffer stringBuffer=new StringBuffer();
            byte[] buffer=new byte[input.available()];
            for (int i = input.read(buffer); i >0; i=input.read(buffer)) {
                stringBuffer.append(new String(buffer,0,i));
            }
            return stringBuffer.toString();
        } catch (Exception e) {
            throw e;
        }
    }
read file by path in “/resource/raw”: 
use method openRawResource(int R.raw.fileId) of class Resources. 
example:
InputStream input = context.getResources().openRawResource(R.raw.fileId);
note raw in file general need use EncodingUtils.getString(String data,String charset) decode,and this directory in single file size max 1MB,and only read can’t write.
read file by path in “/resource/asset”: 
use method open(String fileName) of class AssetManager. 
example:
InputStream input = context.getResources().getAssets().open(String fileName);
note asset in file general need use EncodingUtils.getString(String data,String charset) decode,and this directory in single file size max 1MB,and only read can’t write.
read file by path in “/mnt/sdcard”(compatible version must use Environment.getExternalStorageDirectory()): 
use direct create FileInputStream or direct create RandomAccessFile. 
example:
1. InputStream input =new FileInputStream(Environment.getExternalStorageDirectory()+"/folderPath***/"+fileName); 2. RandomAccessFile accessFile=new RandomAccessFile(Environment.getExternalStorageDirectory()+"/folderPath***/"+fileName,String accessMode);
note sdcardin file general need use EncodingUtils.getString(String data,String charset) decode,and check SD card whether or not exist. 
check SD card whether or not exist code:
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
    SD card exist and can read with write...
}
Write File
write file by path in “/data/data/appName/appPackageName/files”: 
use method openFileOutput(String fileName,int writeMode) of class Context. 
example:
public void save(String fileName, String fileContent) throws Exception {
        try (FileOutputStream output = context.openFileOutput(fileName,
                Context.MODE_PRIVATE)) {
            output.write(fileContent.getBytes());
        } catch (Exception e) {
            throw e;
        }
    }
write file by path in “/mnt/sdcard”(compatible version must use Environment.getExternalStorageDirectory()): 
use direct create FileOuputStream or direct create RandomAccessFile. 
example:
1. OuputStream ouput =new FileOuputStream(Environment.getExternalStorageDirectory()+"/folderPath***/"+fileName); 2. RandomAccessFile accessFile=new RandomAccessFile(Environment.getExternalStorageDirectory()+"/folderPath***/"+fileName,String accessMode);
note SD card in write file need at AndroidMainfest.xml setting permission. 
at AndroidMainfest.xml root node in add code:
<!--create delete file permission-->  
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>  
        <!--create write file permission-->  
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
note ‘uses-permission’ tag must appears ‘application’ tag before.
comment may on AVD will throw an exception “open file failed:EACCES (permission denied)”,but never appear at really environment.