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();
			}
		});
	}

}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。