读 写 权限

原创 2015年11月18日 14:45:52


写权限:

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>



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux文件或目录的读,写,执行权限 .

chmod -R 755 default chmod -R 777 themes/         文件或目录的存取权限 快速理解Linux文件的权限,查看 Permi...

Linux中文件的可读,可写,可执行权限的解读以及chmod,chown,chgrp命令的用法

本文转载自[strggle&小白],仅供自己学习参考使用 chmod是更改文件的权限 chown是改改文件的属主与属组 chgrp只是更改文件的属组。 一、文件权限解读 ...
  • fei003
  • fei003
  • 2017年03月31日 14:10
  • 546

[Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)热门干货

[Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/class/xxx、proc/xxx、SystemProperties)热门干货 自Android ...

解决:Android使用自带sqlite开发时,apk中创建的数据库外部的进程是没有权限去读/写的,而且无法如何读取指定目录下的db文件

SQLiteOpenHelper是Android框架为我们提供的一个非常好的数据库打开、升级与关闭的工具类。但是这个工具类会自动把db文件创建到“ /data/data/com.*.*(package...

Ubuntu下Samba服务器的简单设置,只读,可读写等权限控制。

服务器:Ubuntu 10.04 LTS Samba版本:3.4.7 注:本文不会对每个参数,设置的值具体是什么意思做深入的阐述,本文的目的是使用这些配置,立即可用。 1,samba的安装 ...

Linux文件或目录的读,写,执行权限

快速理解Linux文件的权限,查看 Permissions, important and tricky! Unix permissions concern who can read a f...
  • czp11210
  • czp11210
  • 2013年04月10日 19:03
  • 17477

Linux创建硬链接必须同时拥有读和写权限

Linux创建硬链接必须同时拥有读和写的权限 直接上示例: /etc/hosts属于root用户,root组所有,kurolz用户属于其他用户。 此时kurolz拥有rw权限,可以成功创...
  • hjxzt1
  • hjxzt1
  • 2017年07月17日 21:04
  • 125

orcle只读权限设置

  • 2016年01月06日 16:23
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读 写 权限
举报原因:
原因补充:

(最多只允许输入30个字)