`
endual
  • 浏览: 3559615 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 写入文件到SD卡中去

 
阅读更多

前面写了一篇Android对文件的基本读写操作,只是向手机自身的存储空间写入文件,但是手机自身的存储空间有限,这时就要考虑向SDCard中存入文件,比如视频,音频和大量的图片。在底层代码的实现上两者没有什么区别,不过想要往SDCard中写入和读取文件首选必须在AndroidManifest.xml 注册权限:

1
2
3
4
<!-- 加入在SDCard中创建与删除文件的权限 -->
<uses -permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!-- 加入在SDCard中写入数据的权限 -->
<uses -permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

FileActivity.java 程序主要实现类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package net.androidla.file;
 
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
 
import net.androidla.service.FileService;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
public class FileActivity extends Activity {
    private EditText filenameTxt;
    private EditText fileContentTxt;
    private TextView result;
    private Button btnSave;
    private Button btnShow;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        filenameTxt = (EditText) findViewById(R.id.filenameTxt);
        fileContentTxt = (EditText) findViewById(R.id.fileContentTxt);
        btnSave = (Button) findViewById(R.id.btnSave);
        btnShow = (Button) findViewById(R.id.btnShow);
        result = (TextView) findViewById(R.id.result);
 
        btnSave.setOnClickListener(listener);
        btnShow.setOnClickListener(listener);
    }
    private View.OnClickListener listener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            Button button = (Button) v;
            String filename = filenameTxt.getText().toString();
            File file = new File(Environment.getExternalStorageDirectory(), filename);
            Log.i("log", file.getAbsolutePath());
            switch (button.getId()) {
            case R.id.btnSave:
                if (filename != null && !filename.equals("")) {
                    try {
                        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                            FileService.save(new FileOutputStream(file), fileContentTxt.getText().toString());
                            Toast.makeText(FileActivity.this, R.string.success, Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(FileActivity.this, "sdcard不存在或有写保护", Toast.LENGTH_SHORT).show();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } else {
                    Toast.makeText(FileActivity.this, R.string.fail, Toast.LENGTH_SHORT).show();
                }
                break;
            case R.id.btnShow:
                try {
                    String resultTxt = FileService.read(new FileInputStream(file));
                    result.setText(resultTxt);
                } catch (Exception e) {
                    Toast.makeText(FileActivity.this, "读取失败", Toast.LENGTH_SHORT).show();
                    e.printStackTrace();
                }
                break;
            }
        }
    };
}
分享到:
评论

相关推荐

    Android 之 将RAW资源文件写入SD卡工具类

    在Android开发中,有时我们需要将应用内部的RAW资源文件复制到外部存储(如SD卡)以便于用户访问或保存数据。这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将...

    android 下载文件到SD卡

    本教程主要介绍如何在Android应用中实现网络文件的下载并保存到SD卡。 1. **Android权限设置** 在AndroidManifest.xml文件中,你需要添加写入外部存储的权限: ```xml &lt;uses-permission android:name="android....

    android 存储文件到sd卡中

    在Android平台上,将文件存储到SD卡中是应用程序常见的需求之一。这主要涉及到Android的文件系统、权限管理以及外部存储的使用。以下是一些关于如何在Android中存储文件到SD卡的关键知识点: 1. **Android文件系统*...

    Android数据库文件写入SD卡_安卓源码.zip

    本篇文章将详细讲解如何在Android应用中实现数据库文件写入SD卡的操作。 首先,我们需要理解Android的存储权限模型。在Android 6.0(API级别23)及更高版本中,系统采用了运行时权限管理,应用需要在运行时请求访问...

    Android 写文件到sd卡

    以下是关于如何在Android中写文件到SD卡的相关知识点: 1. **权限声明**: 在AndroidManifest.xml文件中,你需要添加`WRITE_EXTERNAL_STORAGE`权限,以允许你的应用写入外部存储设备。从Android 6.0 (API级别23)...

    Android 创建txt文件存到SD卡,向txt文件写入内容,读出txt文件内容

    在本篇中,我们将深入探讨如何在Android设备的SD卡上创建一个TXT文件,向这个文件写入内容,以及如何读取这些内容。首先,我们需要了解Android对文件访问的权限管理和存储路径。 1. **权限管理**: 在Android 6.0...

    android中复制资源文件中的数据库文件到sd卡或内存源码

    在Android开发中,有时我们需要将预置的数据库文件与应用一起发布,并在应用程序首次启动时将其复制到外部存储(如SD卡)或内部存储(内存)中,以便于后续的操作和使用。这样的需求通常出现在那些需要提供初始数据...

    android:assets下的文件复制到SD卡

    在Android开发中,有时我们需要将应用内部的资源文件,如图片、文本或配置文件等,复制到外部存储(如SD卡)以便于后续的操作,比如读取大文件以减轻内存负担,或者创建用户可访问的数据目录。`android:assets`是...

    android 写入SDcard 文件

    使用`FileOutputStream`或`FileWriter`对象写入文件: ```java File file = new File(myDir, "example.txt"); try { FileOutputStream fos = new FileOutputStream(file); fos.write("Hello, Android!"....

    Android保存文件到SD卡

    在Android系统中,将文件保存到SD卡是应用程序常见的需求之一,特别是在处理大量数据或多媒体文件时。Android提供了多种方式来实现这一功能,包括使用Java I/O流、Android的File类以及ContentProvider。下面我们将...

    android对文件和sd卡的各种操作

    在Android系统中,文件操作和SD卡管理是应用程序开发中不可或缺的部分。Android为开发者提供了丰富的API,以便在设备上处理各种文件操作,包括读取、写入、删除、移动和复制文件,以及与SD卡(外部存储)的交互。...

    Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar

    这个压缩包文件"Android代码-文件夹的创建将raw中文件放到SD卡中将assets中文件保存到SD卡中压缩包的解压文件的删除功能.rar"包含了几个关键的Android文件操作知识点。下面我们将详细探讨这些内容。 首先,让我们从...

    android写文件(包括sd卡和写到手机)

    本篇将详细介绍如何在Android中进行文件写入,包括向SD卡和手机内部存储写入文件。 首先,让我们了解Android的存储体系。Android设备通常有两种存储方式:内部存储(Internal Storage)和外部存储(External ...

    文件从sd卡某个目录复制到另一个目录

    例如,对于SD卡中的文件,路径通常以`/storage/emulated/0/`或`/mnt/sdcard/`开头。 3. **异常处理**:上述代码中包含了对`IOException`的捕获,这是处理文件操作中可能出现的错误,如文件不存在、无权限或磁盘满等...

    Android下c++调用java实现内置外置sd卡MP3扫描

    本话题主要探讨如何在Android环境下,使用C++调用Java方法来扫描内置和外置SD卡上的MP3文件,并将扫描结果保存到文件中。 首先,我们需要了解Android的JNI(Java Native Interface)机制,这是Java与本地代码(如...

    android SD卡文件浏览器

    在Android平台上,SD卡文件浏览器是一款实用的应用程序,它允许用户查看和管理存储在设备SD卡上的文件和文件夹。这个应用通常具有直观的界面,采用列表视图展示SD卡内容,便于用户浏览、选择、复制、移动或删除文件...

    Google android4.4.2之后 SD卡无法写入问题解决方法,Root&写权限

    由于google Android 4.4版本之后,系统默认SD卡对应用程序不授予写权限,导致应用程序不能往SD卡中写入文件,需要对默认的系统进行重新设置。 操作的详细步骤以及用到的全部辅助工具(先Root后打开SD卡写权限,...

    将文件写入sd卡

    有一些过长的字符串,无法显示出来,比如接口返回的xml数据,json数据,格式如果出现错误,我们需要将文件完整写出来,这个是直接写入sd卡,当然也可以写在电脑硬盘上

    Android SD卡文件读写操作

    在Android系统中,SD卡(Secure Digital Card)是设备存储扩展和数据交换的重要媒介,它为应用程序提供了额外的存储空间,以保存用户数据、媒体文件或其他应用相关资源。本篇文章将详细探讨Android平台上SD卡的文件...

    Android写LOG日志到SD卡文件之microlog4android使用

    本文将深入探讨如何使用microlog4android库将日志信息写入到SD卡上的文件,以实现更灵活的日志管理。 首先,让我们了解一下什么是microlog4android。Microlog是一个轻量级的日志框架,它为Android提供了类似Java....

Global site tag (gtag.js) - Google Analytics