使用右上角的两个按钮可以将文件从模拟器中导出和导入


程序运行的结果


运行之后,文件浏览器中的delete被删除了。



FileHelper.java是文件的帮助类,完成文件创建、删除、读。

package com.zeph.android.fileoperate;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import android.content.Context;import android.os.Environment;public class FileHelper {private Context context;/** SD卡是否存在 **/private boolean hasSD = false;/** SD卡的路径 **/private String SDPATH;/** 当前程序包的路径 **/private String FILESPATH;public FileHelper(Context context) {this.context = context;hasSD = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);SDPATH = Environment.getExternalStorageDirectory().getPath();FILESPATH = this.context.getFilesDir().getPath();}/** * 在SD卡上创建文件 *  * @throws IOException */public File createSDFile(String fileName) throws IOException {File file = new File(SDPATH + "//" + fileName);if (!file.exists()) {file.createNewFile();}return file;}/** * 删除SD卡上的文件 *  * @param fileName */public boolean deleteSDFile(String fileName) {File file = new File(SDPATH + "//" + fileName);if (file == null || !file.exists() || file.isDirectory())return false;return file.delete();}/** * 读取SD卡中文本文件 *  * @param fileName * @return */public String readSDFile(String fileName) {StringBuffer sb = new StringBuffer();File file = new File(SDPATH + "//" + fileName);try {FileInputStream fis = new FileInputStream(file);int c;while ((c = fis.read()) != -1) {sb.append((char) c);}fis.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return sb.toString();}public String getFILESPATH() {return FILESPATH;}public String getSDPATH() {return SDPATH;}public boolean hasSD() {return hasSD;}}

Activity类

package com.zeph.android.fileoperate;import java.io.IOException;import android.app.Activity;import android.os.Bundle;import android.widget.TextView;public class FileOperateActivity extends Activity {private TextView hasSDTextView;private TextView SDPathTextView;private TextView FILESpathTextView;private TextView createFileTextView;private TextView readFileTextView;private TextView deleteFileTextView;private FileHelper helper;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);hasSDTextView = (TextView) findViewById(R.id.hasSDTextView);SDPathTextView = (TextView) findViewById(R.id.SDPathTextView);FILESpathTextView = (TextView) findViewById(R.id.FILESpathTextView);createFileTextView = (TextView) findViewById(R.id.createFileTextView);readFileTextView = (TextView) findViewById(R.id.readFileTextView);deleteFileTextView = (TextView) findViewById(R.id.deleteFileTextView);helper = new FileHelper(getApplicationContext());hasSDTextView.setText("SD卡是否存在:" + helper.hasSD());SDPathTextView.setText("SD卡路径:" + helper.getSDPATH());FILESpathTextView.setText("包路径:" + helper.getFILESPATH());try {createFileTextView.setText("创建文件:"+ helper.createSDFile("test.txt").getAbsolutePath());} catch (IOException e) {e.printStackTrace();}deleteFileTextView.setText("删除文件是否成功:"+ helper.deleteSDFile("delete.txt"));readFileTextView.setText("读取文件:" + helper.readSDFile("benzeph.txt"));}}

Layout.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/hasSDTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <TextView        android:id="@+id/SDPathTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <TextView        android:id="@+id/FILESpathTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" />    <TextView        android:id="@+id/createFileTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="false" />        <TextView        android:id="@+id/readFileTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="false" />        <TextView        android:id="@+id/deleteFileTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="false" /></LinearLayout>

注意一定要在Manifest中加入读取外部设备的条件允许,我之前就是一直忘记加入,导致文件老是不能创建和删除。

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>










更多相关文章

  1. 关于Android文件Apk下载的那点事
  2. Android(安卓)Studio添加assets文件夹
  3. 四大组件_Service_AIDL_1
  4. Android(安卓)将assets中的文件复制到外置sdcard卡
  5. 后端spring boot+前端Android交互+mysql增删查改
  6. 文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互
  7. cordova3+sencha touch2.x 环境搭建
  8. android典型代码系列(十二)------删除某个文件夹里面的所有内容(
  9. Android(安卓)Studio 2.3使用CMake方式NDK入门

随机推荐

  1. 在 ASP.NET Core 中为 gRPC 服务添加全局
  2. laravel_day3
  3. dom 操作与事件
  4. Python利用itchat模块定时给朋友发送微信
  5. C语言中字符型数据和浮点型数据介绍
  6. 表单事件,字符串,数组apl
  7. 数组常用api
  8. javascript得dom编程初体验
  9. 流程控制、字面量与函数
  10. 流程控制和函数和返回值