Android的文件操作
来源:互联网 发布:大数据时代epub 编辑:程序博客网 时间:2024/05/20 03:39
SD卡的地址mnt/sdcard,mnt和安卓底层linux内核有关。文件系统是被加载的?
android对文件的操作可以使用java原本的io函数。区别在于需要对manifest.xml进行修改。所以如果app包含文件读写功能,那么首先要让app获得读写SD卡的权限,在<application</application>的上方添加以下三句话。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
另一个区别在于在J2SE中文件地址用\\表示父子关系,而Android与Symbian一致,都是用/表示父子关系。
获得SD卡根目录路径Environment.getExternalStorageDirectory(),相当于"/mnt/sdcard/"。如果不是根目录,而是子目录比如/cd/,那么path=Environment.getExternalStorageDirectory()+"/cd/",cd的前后/不能少。
1、创建文件夹
File filex = new File("/mnt/sdcard/A"); if(!filex.exists()){ try{ filex.mkdirs(); } catch (Exception e) { e.printStackTrace(); } }2、创建文件
File file = new File("/mnt/sdcard/A/m.txt");//这里可以是txt也可是jpg,格式任意 if (!file.exists()){ try { file.createNewFile(); } catch (Exception e) { e.printStackTrace(); } }
3、写入文件
DataOutputStream out1;String s1=editText1.getText().toString();try{if(s1.length()!=0){m1.delete();m1.createNewFile();}out1=new DataOutputStream(new FileOutputStream(path+"m1.txt"));out1.writeUTF(s1);out1.close();}catch (Exception e) {e.printStackTrace();}
4、读出文件
DataInputStream in;try { in=new DataInputStream(new FileInputStream(path+"m1.txt")); editText1.setText(in.readUTF()); in.close();}catch (IOException e) {e.printStackTrace();}
5、完整程序
package com.example.androidfile;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {private EditText editText1;String path="/mnt/sdcard/A/";File filex = new File(path);File m1 = new File(path+"m1.txt");@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); if(!filex.exists()){ try{ filex.mkdirs(); } catch (Exception e) { e.printStackTrace(); } } if (!m1.exists()){ try { m1.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } editText1=(EditText) findViewById(R.id.editText1); DataInputStream in;try { in=new DataInputStream(new FileInputStream(path+"m1.txt")); editText1.setText(in.readUTF()); in.close();}catch (IOException e) {e.printStackTrace();} Button Button1=(Button) findViewById(R.id.button1); Button1.setOnClickListener(new OnClickListener(){ public void onClick(View v){ DataOutputStream out1; String s1=editText1.getText().toString(); try{ if(s1.length()!=0){m1.delete();m1.createNewFile();} out1=new DataOutputStream(new FileOutputStream(path+"m1.txt")); out1.writeUTF(s1); out1.close(); } catch (Exception e) { e.printStackTrace(); } } });}@Overridepublic 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;}}
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.androidfile" android:versionCode="1" android:versionName="1.0" ><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.androidfile.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /></manifest>
6、实际效果
0 0
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- android的文件操作
- Android的文件操作
- android的文件操作。
- Android的文件操作
- Android的文件操作
- Android文件的操作
- android的文件操作
- POJ 1979 Red and Black (zoj 2165) DFS
- 数学:怎么理解逻辑中的“必要条件”和“充分条件”?
- C语言之选择排序
- C/C++ 数据类型及范围
- 将QT库添加到系统变量
- Android的文件操作
- Iterator & ListIterator
- Spring的事务管理实现原理初探
- mysql 中文编码
- 流程填报模块 填报表单设计规范
- 幾種常用的排序法(java實現)
- linux内核中的原子操作
- 浅谈 qmake 之 pro、pri、prf、prl文件
- 每日一练(五)变换节点