我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本文件,PDF文件,音频文件,视频文件和图片等。Android提供了文件读写的方法。
通过Context.openFileInput()方法获得标准JAVA文件输入流(FileInputStream),通过Context.openFileOutput()方法获得标准的java文件输出流(FileOutputStream)。使用Resources.openRawResource(R.raw.DataFile)方法返回InputStream。
接下来通过一个小例子来掩饰File读写文件。创建一个Activity,在其中放置两个EditText和连个Button,第一个EditText和Button将EditText的内容写到文件temp.txt文件中。第二个EditText和Button将内容从文件temp.txt中读取出来显示。问价被默认保存在/data/data/package/files下面。
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"
>
<EditText
android:id="@+id/edit1"
android:layout_width="fill_parent"
android:layout_height="60dip"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="写入数据"
/>
<EditText
android:id="@+id/edit2"
android:layout_width="fill_parent"
android:layout_height="60dip"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取数据"
/>
</LinearLayout>
FileTest.java
package org.hualang.file;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class FileTest extends Activity {
/** Called when the activity is first created. */
private Button read,write;
private EditText text1,text2;
private static final String FILE_NAME="temp.txt";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
write=(Button)findViewById(R.id.button1);
read=(Button)findViewById(R.id.button2);
text1=(EditText)findViewById(R.id.edit1);
text2=(EditText)findViewById(R.id.edit2);
//设置按钮事件监听器
write.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//写内容
write(text1.getText().toString());
}
});
read.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
//读内容
text2.setText(read());
}
});
}
//读方法
private String read()
{
try
{
//实例化文件输入流对象
FileInputStream fis=openFileInput(FILE_NAME);
//定义缓存数组
byte[] buffer=new byte[fis.available()];
//读取到缓冲区
fis.read(buffer);
return new String(buffer);
}catch(Exception e)
{
e.printStackTrace();
}
return null;
}
//写方法
private void write(String content)
{
try
{
//实例化文件输入流
FileOutputStream fos=openFileOutput(FILE_NAME,MODE_APPEND);
//写内容
fos.write(content.getBytes());
//关闭文件流
fos.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
运行结果如下:
- 大小: 13.2 KB
- 大小: 13.8 KB
分享到:
相关推荐
**Android-FileBrowser-FilePicker** 是一个专为Android平台设计的文件浏览和选择组件,它为开发者提供了方便的文件操作功能,使用户能够在应用程序中浏览、选择和管理本地文件。这个控件对于那些需要集成文件操作...
Android-android-file-transfer-linux.zip,Android Linux文件传输,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
在这个名为"androidsdk-platforms-android-23.rar"的压缩包中,包含了针对Android 23(也称为Android M,Marshmallow)的SDK平台组件。这一版本的Android引入了许多重要的更新和改进,对开发者的工作流程产生了深远...
标题中的"aarch64-linux-android-4.9"是一个针对Android平台的交叉编译工具链的标识符,它主要用于在非Android系统(如x86架构的Linux或Windows)上构建适用于Android设备的ARM64架构(aarch64)的应用程序和库。...
在Android开发领域,`android-21`是一个重要的版本,代表了Android操作系统的API级别21,也称为Android Lollipop(5.0)。这个版本带来了许多显著的变化和更新,为开发者提供了新的特性和功能。下面将详细介绍`...
1、android-support-v4.jar,android-support-v7-appcompat.jar,非常实用的jar文件,不可缺少,兼容Android 对应版本,包中包含类许多我们可以调用的,如widget、view、util等等。 2、导入Unity或者Android Studio...
适用于Linux的Android文件传输(FreeBSD和Mac OS X!... MacOSX Homebrew: brew cask install whoozle-android-file-transfer或brew cask install whoozle-android-file-transfer-nightly 支持我 如果您想帮助我进
在Android Studio中,你需要确保迁移项目到AndroidX,因为`android-support-v4`已经被替换为`androidx.core:core:版本号`,并且`ViewPager`现在是`androidx.viewpager.widget.ViewPager`,`FileProvider`是`androidx...
当我们谈论 "android-sdk-sources-android-27.rar" 这个压缩包时,我们实际上是在讨论Android SDK中的源代码,这是对Android系统内核和框架层进行深入学习和研究的关键资源。Android 27 对应的是API级别27,也就是...
安卓android-serialport-api 串口demo源代码 public class SerialPort { private static final String TAG = "SerialPort"; /* * Do not remove or rename the field mFd: it is used by native method close...
替换sdk路径下/platforms/...解决替换后报错:Failed to transform file 'android.jar' to match attributes {artifactType=android-mockable-jar, returnDefaultValues=false} using transform MockableJarTransform
Android-SpinKit >Android loading animations(I wrote a android edition according SpinKit) Preview Gradle Dependency Add the JitPack repository to your build file ```gradle allprojects { ...
"ext8"可能是指该版本支持扩展的文件系统类型,如F2FS(Flash-Friendly File System)或EXT4,这些文件系统在处理大量数据时提供了更好的性能和稳定性。 **Android SDK Platforms** Android SDK Platforms包含了...
宝利通rpm-android-phone-release-3.7-64806移动应用程序是一个易于使用的视频系统,提供优质的音频和视频体验。与专有应用程序不同,RealPresence移动应用程序是基于标准的,可扩展您组织的视频网络,使您在任何...
断点下载是Android-FileDownloader的关键功能之一,它允许用户在任意时刻暂停下载,并在稍后的时间继续从上次中断的位置开始下载,而不是重新开始整个文件。这大大提高了用户体验,尤其是在下载大型文件时。实现这一...
替换sdk路径下/platforms/...解决替换as后报错:Failed to transform file 'android.jar' to match attributes {artifactType=android-mockable-jar, returnDefaultValues=false} using transform MockableJarTransform
【Android-SelectFile一个android图片选择器】 在Android应用开发中,用户经常需要选择图片进行上传、编辑或显示。为了方便这一操作,开发者通常会创建一个图片选择器组件。"Android-SelectFile"是一个专为Android...
### 解决Android-SDK安装问题说明 在进行Android应用开发时,遇到的第一道门槛往往就是正确配置Android SDK环境。本文将详细介绍如何解决Android-SDK安装过程中的一些常见问题,并提供具体的解决方案,帮助初学者...
替换sdk路径下/platforms/...解决替换后报错:Failed to transform file 'android.jar' to match attributes {artifactType=android-mockable-jar, returnDefaultValues=false} using transform MockableJarTransform
File Loader Android library for downloading, saving/caching and retrieving any type of files ( image, video, pdf, apk etc ) easily. Download Gradle: repositories { mavenCentral() maven { url '...