9 文件权限

写文件 


package com.itheima27.permissiondemo;



import java.io.FileNotFoundException;
import java.io.FileOutputStream;


import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//私有文件,
writeToLocal("private.txt", Context.MODE_PRIVATE);

//可读文件,
writeToLocal("readable.txt", Context.MODE_WORLD_READABLE);

//可写文件,
writeToLocal("writeable.txt", Context.MODE_WORLD_WRITEABLE);

//可读可写文件.
writeToLocal("readable_writeable.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
}


/**
* 写入到手机内存
* @param fileName 文件名
* @param mode 权限
*/
private void writeToLocal(String fileName, int mode) {
try {
// data/data/包名/files/fileName
FileOutputStream fos = this.openFileOutput(fileName, mode);
fos.write(("权限应用写的信息: " + fileName).getBytes());
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}


}


读文件

package com.itheima27.permissionother;


import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private String baseDirPath = "/data/data/com.itheima27.permissiondemo/files/";


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


// 设置私有文件读写按钮的监听
findViewById(R.id.btn_read_private).setOnClickListener(this);
findViewById(R.id.btn_write_private).setOnClickListener(this);


// 设置可读文件读写按钮的监听
findViewById(R.id.btn_read_readable).setOnClickListener(this);
findViewById(R.id.btn_write_readable).setOnClickListener(this);


// 设置可写文件读写按钮的监听
findViewById(R.id.btn_read_writeable).setOnClickListener(this);
findViewById(R.id.btn_write_writeable).setOnClickListener(this);

// 设置可读可写文件读写按钮的监听
findViewById(R.id.btn_read_readable_writeable).setOnClickListener(this);
findViewById(R.id.btn_write_readable_writeable).setOnClickListener(this);
}


@Override
public void onClick(View v) {
// v.getId(); // 获得当前被点击按钮的id

switch (v.getId()) {
case R.id.btn_read_private: // 读私有文件
readRemoteFile("private.txt");
break;
case R.id.btn_write_private:// 写私有文件
writeRemoteFile("private.txt");
break;
case R.id.btn_read_readable: // 读可读文件
readRemoteFile("readable.txt");
break;
case R.id.btn_write_readable:// 写可读文件
writeRemoteFile("readable.txt");
break;
case R.id.btn_read_writeable: // 读可写文件
readRemoteFile("writeable.txt");
break;
case R.id.btn_write_writeable:// 写可写文件
writeRemoteFile("writeable.txt");
break;
case R.id.btn_read_readable_writeable: // 读可读可写文件
readRemoteFile("readable_writeable.txt");
break;
case R.id.btn_write_readable_writeable:// 写可读可写文件
writeRemoteFile("readable_writeable.txt");
break;
default:
break;
}

}



/**
* 读远程文件
* @param fileName
*/
private void readRemoteFile(String fileName) {
try {
String path = baseDirPath + fileName;

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
String text = br.readLine();
br.close();
Toast.makeText(this, "读取: " + text, 0).show();
} catch (Exception e) {
Toast.makeText(this, "读取失败: " + fileName, 0).show();
e.printStackTrace();
}
}

/**
* 写入远程文件
* @param fileName
*/
private void writeRemoteFile(String fileName) {
try {
String path = baseDirPath + fileName;
FileOutputStream fos = new FileOutputStream(path);
fos.write("哈哈, 被我黑了".getBytes());
fos.flush();
fos.close();
Toast.makeText(this, "写入成功", 0).show();
} catch (Exception e) {
Toast.makeText(this, "写入失败", 0).show();
e.printStackTrace();
}

}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值