Android 访问文件权限的四种模式介绍
程序员文章站
2024-03-03 23:49:28
linux文件的访问权限
* 在android中,每一个应用是一个独立的用户
* drwxrwxrwx
* 第1位:d表示文件夹,-表示文件
* 第2-4位:r...
linux文件的访问权限
* 在android中,每一个应用是一个独立的用户
* drwxrwxrwx
* 第1位:d表示文件夹,-表示文件
* 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限
* r:读
* w:写
* x:执行
* 第5-7位:rwx,表示跟文件拥有者用户同组的用户对该文件的权限
* 第8-10位:rwx,表示其他用户组的用户对该文件的权限
openfileoutput的四种模式
* mode_private:-rw-rw----
* mode_append:-rw-rw----
* mode_world_writeable:-rw-rw--w-
* mode_world_readable:-rw-rw-r--
下面实战一下:
首先完成布局
<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" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮1" android:onclick="click1" /> </linearlayout>
添加按钮事件
public void click1(view v) { //data/data/com.wuyudong.permission.files try { fileoutputstream fos = openfileoutput("info1.txt", mode_private); fos.write("私有模式".getbytes()); fos.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } }
点击按钮后生成相应的文件info1.txt,如图
然后再生成其他的按钮布局:
相应的代码如下:
package com.wuyudong.permission; import java.io.filenotfoundexception; import java.io.fileoutputstream; import android.os.bundle; import android.app.activity; import android.view.view; public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } public void click1(view v) { // data/data/com.wuyudong.permission.files try { fileoutputstream fos = openfileoutput("info1.txt", mode_private); fos.write("私有模式".getbytes()); fos.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } public void click2(view v) { // data/data/com.wuyudong.permission.files try { fileoutputstream fos = openfileoutput("info2.txt", mode_append); fos.write("追加模式".getbytes()); fos.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } public void click3(view v) { // data/data/com.wuyudong.permission.files try { fileoutputstream fos = openfileoutput("info3.txt", mode_world_readable); fos.write("全局可读模式".getbytes()); fos.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } public void click4(view v) { // data/data/com.wuyudong.permission.files try { fileoutputstream fos = openfileoutput("info4.txt", mode_world_writeable); fos.write("私有模式".getbytes()); fos.close(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } }
依次点击按钮,生成相应权限的文件:
再创建一个应用来读取之前生成的info3.txt文件
package com.wuyudong.other; import java.io.bufferedreader; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.inputstreamreader; import android.os.bundle; import android.app.activity; import android.view.menu; import android.view.view; import android.widget.toast; public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } public void click(view v) { file file = new file("data/data/com.wuyudong.permission/files/info3.txt"); try { fileinputstream fis = new fileinputstream(file); //把字节流转换成字符流 bufferedreader br = new bufferedreader(new inputstreamreader(fis)); string text = br.readline(); toast.maketext(this, text, 0).show(); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } }
以上所述是小编给大家介绍的android 访问文件权限的四种模式的相关内容,希望对大家有所帮助,如果大家想了解更多内容敬请关注网站!