Android---35---openFileInput、openFileOutput获取手机内存中的数据
openFileOutput和openFileInput 获取手机内存中的文件而不是SD卡中的。
Context提供了两个方法来打开本应用程序的数据文件夹里的文件I/O流。
openFIleInput(String name):name文件对应的输入流
openFileOutput(String name,int mode):name文件对应的输出流
其中输出流中的第二个参数表示打开文件的模式,也可以称作权限:
MODE_PRIVATE:该文件只能被当前程序读写
MODE_APPEND:以追加的方式打开该文件,可以追加内容
MODE_WORLD_READABLE:该文件中的内容可以被其他程序读取
MODE_WORLD_WRITEABLE:该文件中的内容可以被其他程序读、写。
除此之外,Context还提供了如下几个方法来访问应用程序的数据文件夹:
getDir(String name,int mode):在应用程序的数据文件夹下获取或创建name对应的子目录
File getFilesDir():获取应用程序的数据文件夹的绝对路径
String[] fileList ():返回该应用程序的数据文件夹下的全部文件
deleteFile(String ): 删除该应用程序的数据文件夹下的指定文件
public class MainActivity extends Activity { private EditText et; private Button saveButton, readButton; private TextView show; private boolean MyWrite() { try { FileOutputStream fos = openFileOutput("data", Context.MODE_WORLD_READABLE); String content = et.getText().toString(); fos.write(content.getBytes()); fos.flush(); fos.close(); Toast.makeText(MainActivity.this, "成功", 1).show(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } private boolean MyRead() { try { FileInputStream fis = openFileInput("data"); byte buff[] = new byte[1024]; StringBuffer sb = new StringBuffer(); int hasread = 0; while ((hasread = fis.read(buff)) != -1) { sb.append(new String(buff)); } fis.close(); show.setText(sb.toString()); Toast.makeText(MainActivity.this, sb.toString(), 1).show(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et = (EditText) findViewById(R.id.edittext); saveButton = (Button) findViewById(R.id.save); readButton = (Button) findViewById(R.id.red); show = (TextView) findViewById(R.id.show); saveButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub MyWrite(); } }); readButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub MyRead(); } }); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。