簡單做一個界面,生成四個按鈕按四種許可權新建文件: 效果圖: 點擊事件: 點擊完四個按鈕: 這裡最後一列就是Linux中的文件許可權: Linux中用10位表示文件許可權: 從左往右依次: 第一位表示文件的類型 2-4位表示當前用戶 5-7位表示當前用戶所在組 最後三位表示其他用戶 可以看出:四個文件對當 ...
簡單做一個界面,生成四個按鈕按四種許可權新建文件:
<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=".MainActivity" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click1" android:text="私有文件" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click2" android:text="可追加文件" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click3" android:text="可讀文件" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click4" android:text="可寫文件" /> </LinearLayout>
效果圖:
點擊事件:
package com.dreamtech.file; 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) { try { FileOutputStream fos = openFileOutput("private.txt", MODE_PRIVATE); fos.write("private".getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } // 生成一個可追加的文件 public void click2(View v) { try { FileOutputStream fos = openFileOutput("append.txt", MODE_APPEND); fos.write("append".getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } // 生成一個只讀的文件 public void click3(View v) { try { FileOutputStream fos = openFileOutput("read.txt", MODE_WORLD_READABLE); fos.write("read".getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } // 生成一個可寫的文件 public void click4(View v) { try { FileOutputStream fos = openFileOutput("write.txt", MODE_WORLD_WRITEABLE); fos.write("write".getBytes()); fos.close(); } catch (Exception e) { e.printStackTrace(); } } }
點擊完四個按鈕:
這裡最後一列就是Linux中的文件許可權:
Linux中用10位表示文件許可權:
從左往右依次:
第一位表示文件的類型
2-4位表示當前用戶
5-7位表示當前用戶所在組
最後三位表示其他用戶
可以看出:四個文件對當前用戶和當前用戶組都是可讀可寫,其他用戶的許可權不一致
(這裡本質是二進位:1表示r或者w,0表示-)
另外:可追加和其他許可權區別:追加不清除以前的內容,在後邊追加
那麼可以修改文件許可權嗎?
可以,需要Linux指令
打開adb shell
cd到文件目錄
chmod 777 private.txt
777即可修改為可讀可寫可執行
開發中通常不會修改文件許可權