关闭

读 写 权限

标签: android读写权限
55人阅读 评论(0) 收藏 举报
分类:


写权限:

package com.example.write;

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

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


public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	
		//创建一个私有的private.txt文件
		writeFile(this,"private.txt",this.MODE_PRIVATE);
		//创建一个可读的readable.txt文件
		writeFile(this,"readable.txt", this.MODE_WORLD_READABLE);
		
		//创建一个可写的writeable.txt文件
		writeFile(this,"writeable.txt", this.MODE_WORLD_WRITEABLE);
		
		//创建一个可读可写的rwable.txt文件
		writeFile(this,"rwable.txt", this.MODE_WORLD_READABLE + this.MODE_WORLD_WRITEABLE);
	}

	

	private void writeFile(Context context, String fileName,int mode) {
			
		//新的API函数
		try {
			FileOutputStream out = openFileOutput(fileName, mode);
		
			out.write("I am 1505".getBytes());
			
			out.flush();
			out.close();
			
		} catch (FileNotFoundException e) {
		
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

	
}

读权限:

package com.xh.tx.read;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

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

public class MainActivity extends Activity implements OnClickListener{

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

	Button button=(Button)findViewById(R.id.btn_read_private);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_write_private);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_read_readable);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_write_readable);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_read_writeable);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_write_writeable);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_read_rw);
	button.setOnClickListener(this);
	
	button = (Button) findViewById(R.id.btn_write_rw);
	button.setOnClickListener(this);
    }
	@Override
	public void onClick(View v) {
		File privatepath = new File("/data/data/com.example.write/files/private.txt");
		File readablepath = new File("/data/data/com.example.write/files/readable.txt");
		File writeablepath = new File("/data/data/com.example.write/files/writeable.txt");
		File rwpath = new File("/data/data/com.example.write/files/rwable.txt");
		
		switch(v.getId()){
		case R.id.btn_read_private://写私有文件
		
			try {
				FileInputStream in=new FileInputStream(privatepath);
				byte[] buffer = new byte[in.available()];//available() 获取一个文件里面有多少个byte
				
				in.read(buffer);
				if(null!=buffer && buffer.length>0){
					FileOutputStream out = new FileOutputStream(privatepath);
					out.write("被日了".getBytes());
					Toast.makeText(this, "读取成功", Toast.LENGTH_SHORT).show();
					
				}
			} catch (Exception e) {
				
				Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
				
				e.printStackTrace();
			}
			break;
		case R.id.btn_write_private: //读私有文件
			try {
				FileOutputStream out = new FileOutputStream(privatepath);
				
				out.write("被日了".getBytes());
				
				Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
				
			} catch (Exception e) {
				Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
		
			break;
		case R.id.btn_read_readable: //写可写文件
			try {
				FileInputStream in = new FileInputStream(readablepath);
				byte[] buffer = new byte[in.available()]; // available() 获取一个文件里面有多少个byte
				
				in.read(buffer);
				
				if(null != buffer && buffer.length > 0)
				{
					Toast.makeText(this, "读取成功:" + new String(buffer), Toast.LENGTH_SHORT).show();
				}
				
			} catch (Exception e) {
				
				Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
			break;
		case R.id.btn_write_readable: //写可读文件
			try {
				FileOutputStream out = new FileOutputStream(readablepath);
				
				out.write("被日了".getBytes());
				
				Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
				
			} catch (Exception e) {
				Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
		
			break;
		case R.id.btn_read_writeable: //读可写文件
			try {
				FileInputStream in = new FileInputStream(writeablepath);
				byte[] buffer = new byte[in.available()]; // available() 获取一个文件里面有多少个byte
				
				in.read(buffer);
				
				if(null != buffer && buffer.length > 0)
				{
					FileOutputStream out = new FileOutputStream(writeablepath);
					out.write("被 日了".getBytes());
					Toast.makeText(this, "读取成功:" + new String(buffer), Toast.LENGTH_SHORT).show();
				}
				
			} catch (Exception e) {
				
				Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
			break;
		case R.id.btn_write_writeable: //读可读文件
			try {
				FileOutputStream out = new FileOutputStream(writeablepath);
				
				out.write("被日了".getBytes());
				
				Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
				
			} catch (Exception e) {
				Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
		
			break;
			
		case R.id.btn_read_rw: //写可读可写文件
			try {
				FileInputStream in = new FileInputStream(rwpath);
				byte[] buffer = new byte[in.available()]; // available() 获取一个文件里面有多少个byte
				
				in.read(buffer);
				
				if(null != buffer && buffer.length > 0)
				{
					FileOutputStream out = new FileOutputStream(rwpath);
					out.write("被 日了".getBytes());
					Toast.makeText(this, "读取成功:" + new String(buffer), Toast.LENGTH_SHORT).show();
				}
				
			} catch (Exception e) {
				
				Toast.makeText(this, "读取失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
			break;
		case R.id.btn_write_rw: //读可读可写文件
			try {
				FileOutputStream out = new FileOutputStream(rwpath);
				
				out.write("被日了".getBytes());
				
				Toast.makeText(this, "写入成功", Toast.LENGTH_SHORT).show();
				
			} catch (Exception e) {
				Toast.makeText(this, "写入失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
		
			break;
			default:
				break;
		}
	}
}

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.xh.tx.read.MainActivity" >

    <Button 
       android:id="@+id/btn_read_private"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="读取私有文件"
       />
    <Button 
       android:id="@+id/btn_write_private"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="写取私有文件"
	/>
    <Button 
       android:id="@+id/btn_read_readable"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="读取可读文件"
       />
   <Button 
       android:id="@+id/btn_write_readable"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="写可读文件"
    />
   
      <Button 
       android:id="@+id/btn_read_writeable"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="读取可写文件"
       />
   <Button 
       android:id="@+id/btn_write_writeable"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="写取可写文件"
    />
   
      <Button 
       android:id="@+id/btn_read_rw"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="读取可读可写文件"
       />
   <Button 
       android:id="@+id/btn_write_rw"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="写取可读可写文件"
    />
</LinearLayout>



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23228次
    • 积分:1142
    • 等级:
    • 排名:千里之外
    • 原创:91篇
    • 转载:20篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论