- 浏览: 236050 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (70)
- Spring (5)
- J2EE (5)
- Android (21)
- JavaSe (12)
- JmagicK (1)
- Eclipse (3)
- 重构 (1)
- Struts2 (2)
- 项目经验 (2)
- UML (1)
- 设计模式 (3)
- TDD (1)
- 极限编程 (1)
- 敏捷编程 (1)
- Json (1)
- Java web (1)
- ejb (1)
- mongodb (1)
- Mylyn (1)
- git (1)
- oracle (2)
- 操作系统 (1)
- 数据结构与算法 (2)
- C (1)
- 效率参考 (1)
- Java基础 (3)
- 开源框架 (1)
- 阿里云 (2)
- linux (1)
- html5开发框架 (3)
- ios开发 (2)
- webapp (0)
- 我的创业 (1)
- Java (1)
- IDE (1)
- Java虚拟机 (2)
- 区块链 (2)
最新评论
-
BlueSkyXin:
你真的很厉害,懂得不懂得,都跟我们讲清楚了。你这才叫学知识,透 ...
Struts2值栈的理解 -
wiseyl:
第一种方法: 过滤器不太好,建议在service层时 由于se ...
hibernate+spring mvc,解决hibernate对象懒加载,json序列化失败 -
u012256814:
您好,看了您的这个教程受益不小,我就是想问问您在sha1后面加 ...
Google Map API V2 密钥申请 详细图解 -
ahau10:
OGNL表达式,context, valueStack都讲清楚 ...
Struts2值栈的理解 -
yaolan:
Struts2值栈的理解
AndroidManifest.xml配置
strings.xml
layout/main.xml
FileService.java
文件模式
FileServiceTest.java
MainActivity.java
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.file" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <uses-library android:name="android.test.runner" /> <activity android:name=".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" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="cn.itcast.file" android:label="Tests for My App" /> <!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> </manifest>
strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">文件操作</string> <string name="filename">文件名称</string> <string name="filecontent">请输入文件的内容</string> <string name="button">保存</string> <string name="success">文件保存成功</string> <string name="error">文件保存失败</string> <string name="sdcarderror">SDCard不存在,或者写保护了</string> </resources>
layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/filename" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/filename" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/filecontent" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" android:id="@+id/filecontent" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /> </LinearLayout>
FileService.java
package cn.itcast.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 FileService { private Context context; public FileService(Context context) { this.context = context; } /** * 以私有文件保存内容 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ 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(); } /** * 以私有文件保存内容 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ public void save(String filename, String content) throws Exception{ FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE); outStream.write(content.getBytes()); outStream.close(); } /** * 以追加方式保存内容 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ public void saveAppend(String filename, String content) throws Exception{// ctrl+shift+y / x FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_APPEND); outStream.write(content.getBytes()); outStream.close(); } /** * 保存内容,注:允许其他应用从该文件中读取内容 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ public void saveReadable(String filename, String content) throws Exception{ FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_READABLE); outStream.write(content.getBytes()); outStream.close(); } /** * 保存内容,注:允许其他应用往该文件写入内容 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ public void saveWriteable(String filename, String content) throws Exception{ FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_WRITEABLE); outStream.write(content.getBytes()); outStream.close(); } /** * 保存内容,注:允许其他应用对该文件读和写 * @param filename 文件名称 * @param content 文件内容 * @throws Exception */ 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(); } /** * 读取文件内容 * @param filename 文件名称 * @return * @throws Exception */ 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); } }
文件模式
FileServiceTest.java
package cn.itcast.file; import cn.itcast.service.FileService; import android.test.AndroidTestCase; import android.util.Log; public class FileServiceTest extends AndroidTestCase { private static final String TAG = "FileServiceTest"; public void testSave() throws Throwable{ FileService service = new FileService(this.getContext()); service.save("itcast.txt", "www.itcast.cn"); } public void testReadFile() throws Throwable{ FileService service = new FileService(this.getContext()); String result = service.readFile("www.txt"); Log.i(TAG, result); } public void testSaveAppend() throws Throwable{ FileService service = new FileService(this.getContext()); service.saveAppend("append.txt", ",www.csdn.cn"); } public void testSaveReadable() throws Throwable{ FileService service = new FileService(this.getContext()); service.saveReadable("readable.txt", "www.sohu.com"); } public void testSaveWriteable() throws Throwable{ FileService service = new FileService(this.getContext()); service.saveWriteable("writeable.txt", "www.sina.com.cn"); } public void testSaveRW() throws Throwable{ FileService service = new FileService(this.getContext()); service.saveRW("rw.txt", "www.joyo.com"); } }
MainActivity.java
package cn.itcast.file; import cn.itcast.service.FileService; 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 { //判断sdcard是否存在于手机上,并且可以进行读写访问 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(); } } }); } }
发表评论
-
Java实现文件加密传输和快速解密读取
2018-06-29 15:29 4281在运营某些项目时,我们可能需要使用到第三方的服务器来存储数据 ... -
Java实现文件加密传输和快速解密读取
2018-06-29 15:37 1在运营某些项目时,我们可能需要使用到第三方的服务器来存储数 ... -
Android4.4来了
2013-11-01 13:59 0Beautiful & Immersive A ... -
Android应用开机自动启动
2013-09-28 19:58 1750背景知识:当Android启动时,会发出一个系统广播,内容为 ... -
Java基础 之软引用、弱引用、虚引用
2013-09-28 19:55 1116在JDK1.2以前的版本中,当一个对象不被任何变 ... -
adb server无法启动方法,结束占用端口的进程
2013-08-05 13:38 8330adb server is out of date. ki ... -
ListViewPager,ListView分页最轻量解决方案
2013-08-05 12:41 0import java.util.concurrent.at ... -
【Android】升级ADT 22 引发的错误
2013-07-05 17:24 1037言 今天心血来潮,又把ADT升级了一下,升级到了ADT 2 ... -
Google I/O大会发布Android Studio,安装与不能运行解决
2013-05-16 15:25 20721.下载地址: https://developer.an ... -
Google I/O大会发布Android Studio,安装与不能运行解决等错误解决。
2013-05-16 15:23 1271下载地址: https://developer.andro ... -
使用Git之后出现android library引用失败
2013-04-06 00:04 5502今天在做android项目的使用,因为使用了git做代码托管 ... -
提高Android在eclipse下的编译速度
2013-04-02 15:46 3161大家都知道用eclipse安装adt来进行Android程序 ... -
android no target available 解决
2013-04-02 15:33 10413在安装最新版本的ADT之后,版本21.1.启动eclipse ... -
android学习和广告平台赚钱
2013-01-30 09:29 1690前言: 2011年11月份我开始学习andr ... -
android4.0 使用百度地图不能自动刷新问题
2013-01-21 10:38 2068百度地图,4.0以下的可以正常使用。 但是4.0的就会出 ... -
Google Map API V2 密钥申请 详细图解
2013-01-13 11:03 19503前一阵公司给配了个Mac 谁想项目运行后地图没了,怎么办 ... -
Json转换为Java对象
2012-11-04 19:56 1698package com.chinatech.common ... -
Android Query使用教程
2012-08-05 01:39 7613在android程序设计中,很多是要要实现异步任务,缓存,获取 ... -
设置Activity全屏
2012-08-05 01:27 1337*全屏 在Android下如何实现一个Activit ... -
android 拍照上传照片
2012-08-05 01:23 1353废话不多说,直接进入主题,想要在android中实现拍 ...
相关推荐
在Android系统中,文件操作是应用程序开发中必不可少的一部分。无论是保存用户数据、读取资源文件还是与其他应用交换信息,理解并熟练掌握Android的文件操作至关重要。以下是对Android文件操作的详细解析: 一、...
文件操作工具类,包含生成保存,复制,删除,读取,获取文件名,获取文件列表等等,只有你想不到,没有你找不到的Android端工具类,复制到项目中可直接使用
这份“安卓Android源码——安卓Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.rar”资源提供了实现这些功能的源代码示例。下面,我们将详细探讨这些关键知识点。 1. 文件操作: 在Android中,...
在安卓(Android)平台上,开发文件操作功能是应用程序开发中不可或缺的部分。本资源"安卓Android源码——安卓Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.zip"提供了相关的源码示例,帮助...
Android文件操作列表显示进入退出删除复制粘贴新建文件等等.rar
在安卓开发中,文件操作是应用功能实现的重要组成部分。Android 提供了丰富的API来处理文件的创建、读取、写入、删除、复制、粘贴等操作,这使得开发者能够轻松地管理应用的数据存储。本教程将深入探讨这些关键知识...
这个压缩包"安卓SD卡文件管理更新信息相关-Android文件操作列表显示进入退出删除复制粘贴新建文件等等.rar"提供了一些关于如何在Android应用中实现SD卡文件管理功能的源码示例。以下是对这些知识点的详细说明: 1. ...
在Android开发中,文件操作是不可或缺的一部分,无论是存储用户数据、日志,还是保存应用程序的配置文件,都需要对文件进行读写操作。本教程将针对Android中的文件操作进行详细介绍,帮助新手快速掌握这一基础技能。...
android文件操作封装的java类,包括根据关键字查找文件,遍历目录,删除目录所有文件等等
这个压缩包"Android高级应用源码-Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.zip"提供了关于Android文件操作的高级示例,包括显示文件列表、导航、删除、复制、粘贴和新建文件等功能。...
Android应用源码之Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等项目安卓应用源码下载.ziAndroid应用源码之Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等项目安卓应用源码...
Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.zip项目安卓应用源码下载Android 文件操作 列表显示 进入 退出 删除 复制 粘贴 新建文件等等.zip项目安卓应用源码下载 1.适合学生毕业设计研究...
这份“安卓Andriod源码——文件操作列表显示进入退出删除复制粘贴新建文件等等.zip”压缩包,很显然包含了实现这些功能的源代码。下面我们将深入探讨Android中涉及的这些文件操作技术。 1. 文件操作基础: Android...
通过理解和修改`flcop`的代码,你可以在Delphi XE10.1.2中构建一个符合Android平台规范的文件选择和保存对话框,使用户能够在你的应用中方便地浏览和操作文件。记住,良好的代码组织和适当的文档将有助于维护和未来...
总之,通过分析和研究这个源代码,开发者能够提升Android应用开发能力,特别是对于文件操作和管理方面,为开发更复杂的应用奠定基础。同时,源代码也是一个很好的教学实例,有助于初学者快速入门Android编程。
在Android应用开发中,文件操作是一项基础且重要的任务。这个压缩包包含的源代码实例具体展示了如何在Android系统中执行各种文件操作,如列表显示、进入、退出、删除、复制、粘贴以及新建文件等。以下是对这些知识点...
总的来说,这个自定义的Android文件管理器源码涵盖了文件操作的基本功能,通过解析和学习,开发者可以了解Android文件操作的实现细节,提高自己的编程技能。同时,这也为定制化文件管理器提供了参考,开发者可以根据...
这个源码可以帮助开发者了解如何在Android系统中实现这一功能,从而提升对Android系统的文件操作理解。 首先,我们来看源码的核心概念。Android文件管理器通常基于Android的文件系统结构,如Linux的EXT4文件系统,...
通过对【安卓文件查看器代码】的学习,开发者不仅可以掌握Android文件操作的基本技巧,还能了解到如何结合UI组件构建一个完整的功能应用。这将对进一步学习Android应用开发大有裨益。在实际开发中,还可以考虑优化...
通过分析这个"文件管理器FileManager"的源代码,开发者能深入了解Android文件操作的原理,提升文件管理功能的开发能力,同时学习到如何处理文件权限、UI更新、后台任务以及数据库集成等问题。这不仅有助于日常开发...