`

android手机内存中的文件操作

阅读更多
android为手机存储范围内的文件操作提供了openFileOutput和openFileInput API,对文件操作提供了便利,一下是一个小demo,供参考学习使用

main activity
package com.opfiletext.example;

import java.io.IOException;

import com.opfiletext.service.FileService;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	private EditText edit_filename, edit_filecontent;
	private Button submit, read;
	private TextView tv;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        edit_filename = (EditText)findViewById(R.id.filename);
        edit_filecontent = (EditText)findViewById(R.id.finecontent);
        tv = (TextView)findViewById(R.id.tv);
        
        submit = (Button)findViewById(R.id.submit);
        submit.setOnClickListener(new SubminOnClickListener());
    
        read = (Button)findViewById(R.id.read);
        read.setOnClickListener(new ReadOnClickListener());
    }
    
    
    private final class SubminOnClickListener implements View.OnClickListener{

		@Override
		public void onClick(View v) {
			String filename = edit_filename.getText().toString();
			String filecontent = edit_filecontent.getText().toString();
			
			FileService fm = new FileService(MainActivity.this);
			try {
				fm.save(filename, filecontent);
				Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
			} catch (IOException e) {
				Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_SHORT).show();
				e.printStackTrace();
			}
		}
    }
    
    private final class ReadOnClickListener implements View.OnClickListener{

		@Override
		public void onClick(View v) {
			String filename = edit_filename.getText().toString();
			FileService fm = new FileService(MainActivity.this);
			try {
				String content = fm.read(filename);
				tv.setText(content);
			} catch (IOException e) {
				tv.setText("解析异常");
				e.printStackTrace();
			}
		}
    }
}




service class
package com.opfiletext.service;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Context;

public class FileService {
	
	private Context context;
	
	public FileService(Context context) {
		this.context = context;
	}

	public void save(String filename, String filecontent) throws IOException {
		FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE);
		fos.write(filecontent.getBytes());
		fos.close();
	}
	
	public String read(String filename) throws IOException{
		FileInputStream fis = context.openFileInput(filename);
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		byte[] b = new byte[1024];
		int len = 0;
		while((len = fis.read(b)) > 0){
			baos.write(b, 0, len);
		}
		byte[] data = baos.toByteArray();
		return new String(data);
	}
}

0
0
分享到:
评论

相关推荐

    android 内存 文件读写操作

    这种练习有助于理解Android中的文件操作流程。 总结来说,Android的文件操作涉及到`Environment`类的使用、文件对象的创建、文件的读写以及权限管理等多个方面。开发者需要熟悉这些概念和方法,以便在实际项目中...

    android 将assets 下的文件复制到手机内存中

    在实际操作中,需要注意文件操作可能抛出的各种异常,比如文件已存在、无权限等问题,因此需要进行适当的异常处理。同时,由于Android 6.0及以上版本需要动态请求权限,所以在运行时需要检测并请求`WRITE_EXTERNAL_...

    Android 跳转到手机内存中查找文件,并上传

    以上就是Android中从手机内存选择文件并上传的关键步骤。在实际应用中,还需要考虑到错误处理、进度显示、网络状态检查等因素,确保用户体验良好。同时,随着Android版本的更新,权限管理也会有所变化,因此要根据...

    Android 获取手机总内存和可用内存信息,博客附adb方式

    在Android系统中,获取手机的总内存和可用内存信息是开发者和普通用户都可能需要的操作。这涉及到系统层面的信息查询,通常需要通过编程接口(API)或者使用Android Debug Bridge(ADB)工具来实现。以下是对这个...

    android txt文件保存读取操作

    文件操作过程中可能会遇到各种异常,如`FileNotFoundException`、`IOException`等,必须进行适当的捕获和处理,确保程序的健壮性。 5. **工具类设计**: 为了简化代码,我们可以创建一个工具类,封装文件的读写...

    android获取手机内存大小

    在Android平台上,获取手机内存大小是一项常见的需求,无论是为了优化应用程序性能、监控设备资源使用情况,还是为了提供用户关于设备状态的信息。以下是一份详细的指南,涵盖了如何在Android中获取内存信息。 首先...

    Android 读写文件实例

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

    清理释放Android 安卓手机内存空间方法教程

    在日常使用Android手机的过程中,经常会遇到手机运行变慢、存储空间不足等问题。这些问题往往与手机内存管理不当有关。本文将详细介绍如何有效地清理并释放Android手机的内存空间,从而提高手机的运行速度和稳定性。...

    访问android 手机内存与存储卡

    综上所述,访问Android手机内存与存储卡涉及到了权限管理、文件操作、生命周期管理等多个方面,开发者需要根据具体需求选择合适的操作方法,并确保兼容不同版本的Android系统。在实际开发中,还要注意遵循最佳实践,...

    基于android的扫描手机中txt文件并打开文件

    在Android平台上,开发一个...通过以上步骤,你可以构建一个能扫描并打开Android手机中TXT文件的应用。这个过程涵盖了Android的基础知识,包括文件操作、权限管理、UI设计以及异步编程,是Android开发中的重要实践。

    获取android手机内存

    在Android系统中,获取手机内存信息是开发过程中的一项常见任务,这有助于监控设备性能或优化应用程序资源使用。本文将深入探讨如何在Android中获取并显示内存信息,主要围绕以下几个方面展开: 1. **Android内存...

    Android设备从外置TF卡文件夹中复制指定文件到到另手机内存文件夹中

    这个过程涉及到文件系统的理解、读写权限以及使用Android提供的API来执行文件操作。以下是对这个主题的详细说明: 首先,Android设备的存储结构分为内部存储(Internal Storage)和外部存储(External Storage)。...

    Android手机SD卡文件浏览器

    总结来说,"Android手机SD卡文件浏览器"是Android系统中不可或缺的一部分,它的实现涉及到文件系统的操作、用户界面的设计、权限管理以及性能优化等多个方面。开发者需要理解Android的文件系统结构,熟悉Java I/O...

    Android 文件 内存目录获取 sdcard目录获取

    4. **文件操作** - `File`类提供了创建、读写、删除文件的方法,如`createNewFile()`, `exists()`, `delete()`, `openInputStream()`, `openOutputStream()`等。 - `InputStream`和`OutputStream`家族用于读写文件...

    Android内存管理小结

    ### Android内存管理知识点总结 #### 一、Dalvik虚拟机及其优势 - **Dalvik虚拟机简介**:...这些知识点对于Android开发者来说是非常宝贵的资源,能够帮助他们在开发过程中更好地管理内存,提升应用的性能表现。

    android手机测试中如何查看内存泄露

    ### Android手机测试中如何查看内存泄露 #### 一、生成.hprof文件 在Android开发过程中,内存泄露是一个常见的问题,特别是在资源丰富的应用中。为了更好地定位内存泄露的原因,我们需要使用特定的工具和技术来...

    Android保存用户数据到手机内存中

    在Android开发中,保存用户数据到手机内存是常见的需求,这涉及到数据持久化的问题。本文将详细介绍如何在Android系统中实现这一功能,主要探讨三种常用的数据存储方式:SharedPreferences、文件存储以及SQLite...

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

    Android提供了`java.io`包中的类来进行文件操作,如`FileOutputStream`用于写入文件,`FileInputStream`用于读取文件,`File`类用于文件和目录的创建、删除等。 4. **工具类设计**: 创建一个名为`...

    Android手机手工恢复文件方法研究.pdf

    通过制作手机内存的镜像文件,可以避免对原始数据的二次破坏,并且可以在安全的环境中进行恢复操作。 文章提到,SQLite数据库中的数据恢复技术相对成熟,而以普通文件形式存储的信息,如录音、视频和图片,删除后...

Global site tag (gtag.js) - Google Analytics