`
myclover
  • 浏览: 195401 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

android文件操作的实例

阅读更多
第五课,android文件操作的实例,主要对SDcard的读写操作。

package com.myclover.file.service;

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 FileOperateService {

	private Context context;
	
	public FileOperateService(Context context) {
		this.context = context;
	}
	
	/**
	 * 功能描述:
	 *         文件保存的方法
	 * @param fileName   文件名
	 * @param content    文件的内容
	 * @param mode       文件的模式   如果为-1时,表示的是保存到SDcard卡上,否则就是保存到应用目录中
	 * @throws Exception
	 */
	public void saveFile(String fileName , String content , int mode) throws Exception
	{
		FileOutputStream fouts = null;
		//文件保存到应用的目录下
		if(mode != -1)
		{
			//如果保存在应用中,则直接使用openFileOutput即可打开应用中的文件
			fouts = context.openFileOutput(fileName, mode);
		}
		else
		{	
			//文件保存到SDcard卡上
			//Environment.getExternalStorageDirectory()表示取得SDcard的路径,相当于"/sdcard/"
			File file = new File(Environment.getExternalStorageDirectory() , fileName);
			fouts = new FileOutputStream(file);
		}
		fouts.write(content.getBytes());
		fouts.close();
	}
	
	
	/**
	 * 功能描述:
	 *         读取文件内容
	 * @param fileName  文件名
	 * @param isSdcard  是否读取sdcard,为true时表示取得的是SDCard的文件内容
	 * @return          返回值:返回文件内容
	 * @throws Exception
	 */
	public String readFile(String fileName , boolean isSdcard)throws Exception
	{
		FileInputStream fins = null;
		if(isSdcard)
		{
			File file = new File(Environment.getExternalStorageDirectory() , fileName);
			fins = new FileInputStream(file);
		}
		else
		{
			fins = context.openFileInput(fileName);
		}
		ByteArrayOutputStream bouts = new ByteArrayOutputStream();
		byte[] buf = new byte[1024];
		int len = 0;
		while((len = fins.read(buf)) != -1)
		{
			bouts.write(buf, 0, len);
		}
		byte[] data = bouts.toByteArray();
		fins.close();
		bouts.close();
		
		return new String(data);
		
	}
	
}


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.myclover.file"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".FileDemoActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
	
	<!-- 当需要进行单元测试时,需要引入该包 -->
	<uses-library android:name="android.test.runner"/>
	
    </application>
    <uses-sdk android:minSdkVersion="9" />
    <!-- 在SDCard中创建与删除文件权限 -->
	<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
	<!-- 往SDCard写入数据权限 -->
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
	
	<!-- 这里的 android:targetPackage的包名要跟应用package同一个目录,也就是测试类要与应用类同一个目录-->
	<instrumentation android:name="android.test.InstrumentationTestRunner"
		android:targetPackage="com.myclover.file" android:label="Test For FileDemo"/>

</manifest> 
分享到:
评论

相关推荐

    Android文件操作实例

    在Android开发中,文件操作是不可或缺的一部分,无论是存储用户数据、缓存信息还是读取资源文件,都需要对文件系统有深入的理解。以下是一些关于Android文件操作的关键知识点,结合源码学习能帮助开发者更好地掌握这...

    Android 读写文件实例

    在开始文件操作之前,必须在AndroidManifest.xml文件中声明相应的权限,特别是对于读写外部存储(SD卡): ```xml &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt; ...

    android操作数据库实例

    在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。一.SharedPreferences方式二.文件存储方式三.SQLite数据库方式四.内容提供器(Content ...

    文件管理器FileManager - 安卓Android程序实例源代码.zip

    通过分析这个"文件管理器FileManager"的源代码,开发者能深入了解Android文件操作的原理,提升文件管理功能的开发能力,同时学习到如何处理文件权限、UI更新、后台任务以及数据库集成等问题。这不仅有助于日常开发...

    Android.例子.实例.文件浏览器

    总的来说,构建一个Android文件浏览器实例涉及到文件系统操作、UI设计、事件处理以及文件操作。这需要对Android SDK有深入的理解,同时也需要熟悉文件I/O和多线程编程。通过实践和学习,你可以创建出功能强大且用户...

    Eclipse编写的Android文件搜索实例

    在Android开发中,Eclipse是一款曾经...这个实例不仅涵盖了文件系统的操作,还涉及到了Android UI设计、事件监听、异步处理等多方面知识。对于Android开发者来说,这样的实践有助于提升对Android平台的理解和开发技能。

    android文件存储实例源代码

    本文将深入探讨Android中的文件存储实例,基于提供的源代码进行解析。 Android提供了多种文件存储方式,包括内部存储、外部存储、SQLite数据库、SharedPreferences以及ContentProvider等。在“TestFile”这个源代码...

    Android Fragment实例

    以下是对`Android Fragment`实例的详细解释: 1. **Fragment的基本概念**: - Fragment是Android系统中用于构建可复用UI组件的类,它们可以包含UI元素、业务逻辑以及与Activity交互的接口。 - Fragment的存在主要...

    Android Excel 操作实例demo

    "Android Excel操作实例demo"就是一个这样的项目,它展示了如何使用第三方库jxl.jar来实现对Excel文件的读写操作。 jxl.jar是一个Java库,允许开发者在没有Microsoft Excel的情况下读写Excel文件。在这个实例中,它...

    安卓Andriod源码——文件操作列表显示进入退出删除复制粘贴新建文件等等.zip

    这份“安卓Andriod源码——文件操作列表显示进入退出删除复制粘贴新建文件等等.zip”压缩包,很显然包含了实现这些功能的源代码。下面我们将深入探讨Android中涉及的这些文件操作技术。 1. 文件操作基础: Android...

    Android手机间文件互传实例

    本文将深入探讨如何实现Android手机间的文件传输实例,主要涉及的技术点包括:蓝牙传输、Wi-Fi Direct、Airdrop(仅限部分Android设备)以及云服务共享。 1. **蓝牙传输**: 蓝牙是一种短距离无线通信技术,适用于...

    安卓应用程序实例

    【安卓应用程序实例】这个压缩包提供了11个实用的Android应用程序源代码,是学习和深入理解Android开发的宝贵资源。对于那些对Android编程感兴趣的人来说,这些实例能够帮助他们快速掌握核心概念并提升实践能力。 ...

    android安卓网站客户端实例红孩子商城适合二次开发

    【Android安卓网站客户端实例——红孩子商城】 在移动互联网领域,Android平台的开发因其开源、灵活的特性,已经成为开发者首选的移动应用开发平台之一。本实例聚焦于Android客户端的开发,特别是针对电子商务领域...

    android nfc 读写实例

    在 android.nfc.tech 包中,定义了可以对 Tag 进行的读写操作的类,按照其使用的技术类型可以分成不同的类,如 NfcA, NfcB, NfcF, 以及 MifareClassic 等。在本次实例中,使用北京大学学生卡进行数据读取测试,学生...

    安卓Android源码——安卓Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.rar

    这份“安卓Android源码——安卓Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.rar”资源提供了实现这些功能的源代码示例。下面,我们将详细探讨这些关键知识点。 1. 文件操作: 在Android中,...

    最详细的Android开发教程实例

    本教程"最详细的Android开发教程实例"旨在提供一个全面的学习路径,帮助新手和有经验的开发者深入理解Android开发的核心概念和技术。 【Android开发入门】: Android开发入门是学习Android编程的第一步。"101- ...

    安卓反编译dex文件格式实例分析

    ### 安卓反编译dex文件格式实例分析 #### 第一部分:创造一个可供分析的Hello.dex ##### 测试环境 为了进行本次实验,我们需要搭建一个可靠的测试环境。本实验使用了以下配置: - **操作系统**: Ubuntu 12.04 64...

    通过Android trace文件分析死锁ANR实例过程

    本文将通过一个具体的死锁导致的ANR实例,解析如何利用Android trace文件来分析和解决这类问题。 当Android系统检测到ANR发生时,会在/data/anr/目录下自动生成一个trace文件,其中包含了系统运行时的详细信息,如...

    Android文件上传,文件选择器,多选

    综上所述,实现Android的文件上传和多选、单选文件功能涉及到了文件选择器的定制、文件操作、网络通信等多个方面。通过合理的设计和优化,可以提供高效、安全的文件操作体验。在实际开发中,要不断迭代和优化,确保...

Global site tag (gtag.js) - Google Analytics