http://blog.csdn.net/kesenhoo/article/details/6531194
在AndroidManifest文件下添加SDCard的读写权限
-
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
-
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2.文件操作的各种模式如下代码:(注意通过getExternalStorageDirectory方法获取SDCard的文件路径)
- package com.hoo.file;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import android.content.Context;
- import android.os.Environment;
- public class FileService
- {
- private Context context;
- public FileService(Context context)
- {
- this.context = context;
- }
-
-
-
-
-
-
-
- public String readFile(String filename) throws Exception
- {
-
- FileInputStream inStream = context.openFileInput(filename);
-
- byte[] buffer = new byte[1024];
- int len = 0;
-
- ByteArrayOutputStream outStream = new ByteArrayOutputStream();
- while( (len = inStream.read(buffer))!= -1)
- {
-
- outStream.write(buffer, 0, len);
- }
-
- byte[] data = outStream.toByteArray();
-
- outStream.close();
- inStream.close();
- return new String(data);
- }
-
-
-
-
-
-
- public void saveToSDCard(String filename, String content) throws Exception
- {
-
- File file = new File(Environment.getExternalStorageDirectory(), filename);
-
- FileOutputStream outStream = new FileOutputStream(file);
- outStream.write(content.getBytes());
- outStream.close();
- }
-
-
-
-
-
-
-
- public void save(String filename, String content) throws Exception
- {
-
- FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);
- outStream.write(content.getBytes());
- outStream.close();
- }
-
-
-
-
-
-
-
- public void saveAppend(String filename, String content) throws Exception
- {
- FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_APPEND);
- outStream.write(content.getBytes());
- outStream.close();
- }
-
-
-
-
-
-
-
- public void saveReadable(String filename, String content) throws Exception
- {
- FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_READABLE);
- outStream.write(content.getBytes());
- outStream.close();
- }
-
-
-
-
-
-
-
- public void saveWriteable(String filename, String content) throws Exception
- {
- FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_WRITEABLE);
- outStream.write(content.getBytes());
- outStream.close();
- }
-
-
-
-
-
-
-
- public void saveRW(String filename, String content) throws Exception
- {
- FileOutputStream outStream = context.openFileOutput(filename,
- Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
-
- outStream.write(content.getBytes());
- outStream.close();
- }
- }
3.写入数据前判断sdcard是否存在于手机上,是否有写保护
- package com.hoo.file;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Environment;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- public class MainActivity extends Activity
- {
- private static final String TAG = "MainActivity";
- private FileService fileService;
-
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- fileService = new FileService(this);
-
-
-
- Button button = (Button) this.findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener()
- {
- @Override
- public void onClick(View v)
- {
-
- EditText filenameText = (EditText) findViewById(R.id.filename);
- EditText contentText = (EditText) findViewById(R.id.filecontent);
- String filename = filenameText.getText().toString();
- String content = contentText.getText().toString();
- try
- {
-
-
-
-
-
- if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
- {
-
- fileService.saveToSDCard(filename, content);
-
- Toast.makeText(MainActivity.this, R.string.success, 1).show();
- }
- else
- {
-
- Toast.makeText(MainActivity.this, R.string.sdcarderror, 1).show();
- }
- }
- catch (Exception e)
- {
- Log.e(TAG, e.toString());
- Toast.makeText(MainActivity.this, R.string.error, 1).show();
- }
- }
- });
- }
- }
分享到:
相关推荐
在Android系统中,文件的读写操作是应用程序与设备存储交互的基础。无论是保存用户数据、缓存信息,还是处理媒体文件,都需要用到文件...记得在操作文件时,要始终考虑异常处理和资源释放,以防止内存泄漏和数据丢失。
本实例将探讨如何在Android应用中实现SdCard的读取和写入功能,这涉及到Android的权限管理、文件操作API以及外部存储的相关知识。 1. **权限管理**: 在AndroidManifest.xml文件中,你需要添加`READ_EXTERNAL_...
- **性能考虑**:频繁地读写SDCard可能会降低应用性能,应尽量减少不必要的读写操作。 通过以上介绍,我们可以了解到在Android开发中如何有效地对SDCard进行读写操作。正确地使用这些技术可以帮助开发者更好地管理...
www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 文件读写至SDCard download(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
本篇将详细介绍在Android 2.3及更高版本中,如何获取和操作Android设备的内存目录以及SDCard目录。 首先,我们要理解Android的存储架构。内部存储主要用于存储应用私有的数据,这些数据对其他应用是不可见的。而...
Android SDCard 操作(文件读写、容量计算) Android SDCard 操作是指在 Android 系统中对 SD 卡的读写和容量计算操作。SD 卡是 Android 设备中的一种外部存储设备,用于存储数据、音乐、图片、视频等文件。 ...
NULL 博文链接:https://z251257144.iteye.com/blog/1355245
以上就是关于Android开发中SD卡文件读写和Wi-Fi检测的基本操作。在实际应用中,你可能还需要考虑异常处理、多线程、进度显示等细节。结合提供的压缩包文件,你可以进一步研究示例代码,加深理解并应用于自己的项目中...
这个"Android应用源码SdCard读写文件实例.zip"压缩包提供了一个示例,帮助开发者理解如何在Android应用程序中实现这一功能。 首先,我们需要了解Android对存储权限的管理。在Android 6.0(API级别23)及更高版本,...
压缩包中的资源可能包含示例代码,用于演示如何在Android应用中实现内部存储和SDCard存储的文件操作,包括创建、读取、写入和删除文件。通过阅读和理解这些代码,开发者可以更好地掌握Android文件存储的实践技巧。 ...
Android 文件读写操作方法总结 Android 中的文件读写操作是 Android 应用程序开发中不可或缺的一部分。 Android 文件系统中有多种类型的文件,包括资源文件、数据区文件、SD 卡文件等,每种类型的文件都有其特定的...
为了确保能正确地读写SDCard上的文件,首先需要判断SDCard是否可用以及其当前状态。`getExternalStorageState()`方法可以返回以下几种状态: - **MEDIA_BAD_REMOVAL**:“bad_removal”,表示SDCard在没有被正确...
在进行SDCard读写操作时,首先需要检查是否有读写权限,这在Android 6.0及以上版本尤为重要,因为需要在运行时动态请求权限。 5. **读取文件**: 要读取SDCard上的文件,首先创建`FileInputStream`实例,然后使用...
本教程将详细解释如何在Android中读写SDCard文件,非常适合初学者入门。 首先,了解Android的存储系统至关重要。Android设备通常有两种存储方式:内部存储和外部存储(即SDCard)。内部存储空间有限,而外部存储...
android应用开发中关于SDCard读写操作的实例代码,在下载学习SDCard操作中,碰到很棘手的问题了。不过最后还在我的坚持下成功了,
在Android系统中,SD卡(通常称为外部存储)是用于扩展设备存储空间的重要部分,而文件的读写操作是应用程序日常功能的一部分。本案例聚焦于使用ES文件浏览器进行SD卡文件的操作,它是一款流行的Android文件管理应用...
本实例源码提供了如何在Android应用中实现SDCard读写文件的方法,非常适合开发者进行学习和参考。 在Android系统中,由于安全性和权限管理的考虑,对SDCard的操作并不像在其他平台那样直接。首先,我们需要在...