`
java-mans
  • 浏览: 11412194 次
文章分类
社区版块
存档分类
最新评论

Android 文件存储详解(SD卡或手机内存存储)

 
阅读更多

package gongzibai.co.cc;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintStream;

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 Ex6Activity extends Activity {
/** Called when the activity is first created. */
final String FILE = "jason.bin";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button read = (Button) findViewById(R.id.read);
Button write = (Button) findViewById(R.id.write);

final EditText edit1 = (EditText) findViewById(R.id.edit1);
final EditText edit2 = (EditText) findViewById(R.id.edit2);
write.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
write(edit1.getText().toString());
edit1.setText("");

}

private void write(String string) {
// TODO Auto-generated method stub
try {
FileOutputStream fos = openFileOutput(FILE, MODE_APPEND);
PrintStream ps = new PrintStream(fos);
ps.println(string);
ps.close();

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}
});

read.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edit2.setText(read());

}

private CharSequence read() {
// TODO Auto-generated method stub
try {
FileInputStream fis = openFileInput(FILE);
byte[] buffer = new byte[1024];
int hasRead = 0;
StringBuilder sb = new StringBuilder("");
while ((hasRead = fis.read(buffer)) > 0) {
sb.append(new String(buffer, 0, hasRead));

}
return sb.toString();

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();

}
return null;
}
});

}
}

----------------创建文件到SD卡中

File file = new File("/sdcard/json.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}

-------------------存储在SD卡中数据

package gongzibai.co.cc;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

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 Ex6Activity extends Activity {
/** Called when the activity is first created. */
final String FILE = "/sdcard/gogo.txt";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File path = new File(FILE);
if (!path.exists())
{
try {
path.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Button read = (Button) findViewById(R.id.read);
Button write = (Button) findViewById(R.id.write);

final EditText edit1 = (EditText) findViewById(R.id.edit1);
final EditText edit2 = (EditText) findViewById(R.id.edit2);
write.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
write(edit1.getText().toString());
edit1.setText("");

}

private void write(String string) {
// TODO Auto-generated method stub
try {
OutputStream os = new FileOutputStream(FILE,true);
os.write(string.getBytes());
os.close();


} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}
});

read.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
edit2.setText(read());

}

private CharSequence read() {
// TODO Auto-generated method stub
try {
FileInputStream fis = new FileInputStream(FILE);
byte[] buffer = new byte[1024];
int hasRead = 0;
StringBuilder sb = new StringBuilder("");
while ((hasRead = fis.read(buffer)) > 0) {
sb.append(new String(buffer, 0, hasRead));

}
return sb.toString();

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
});

}
}

分享到:
评论

相关推荐

    android 查询存储卡剩余容量 (Environment 加 StatFs)

    android手机查询存储卡剩余容量 (Environment 加 StatFs)

    数据存储之——Android内、外存储分区&常用存储目录详解(Android Q)

    这些名称是在Android早期确定的,那时候大部分设备都提供内置的非易失性内存(内部存储空间)以及可移动存储媒介(如,Micro SD卡,提供外部存储空间)。现在,很多设备将永久性存储空间划分为单独的“内部”和“外部...

    详解Android开发数据持久化之文件存储(附源码)

    其实我们在社交网络上面所发出的任何信息, 都希望能够保留下来. 那么如何实现呢?... 当然你也可以将数据保存在手机的SD卡中. 文件存储 文件存储是android中最基本的一种数据存储方式, 它不对存储的内容进

    Android开发应用实战详解源代码

    4.20 加载手机存储卡中的文件 4.21 小结 第5章 交互式服务 5.1 textview的花样 5.2 拨打电话程序 5.3 短信发送程序 5.4 e-mail发送程序 5.5 实现手机震动效果 5.6 图文提醒效果 5.7 状态栏提醒 5.8 检索通讯录 5.8.1...

    Android6.0 storage目录sd卡存储的路径创建详解

    Android6.0 storage目录sd卡存储的路径创建 前言: 之前一直很疑惑,android6.0上sd卡挂载storage下的sd卡路径是什么时候创建的。 因为挂载sd卡的PublicVolume,负责创建mount路径,然后挂载。 接着会创建几个fuse...

    Android4.4 访问外部存储详解及实例

    在Android 4.4系统中,外置存储卡(SD卡)被称为二级外部存储设备(secondary storage),应用程序已无法往外置存储卡(SD卡)写入数据,并且WRITE_EXTERNAL_STORAGE只为设备上的主要外部存储(primary storage)授予写...

    详解Android文件存储

    其实安卓文件的操作和java在pc环境下的操作并无二致,之所以需要单独讲解是因为安卓系统提供了不同于pc的访问文件系统根路径的api,同时对一个应用的私有文件做了统一的管理。根据我的经验,初学者在这部分感到很...

    Android开发之数据的存储方式详解

    在Android中,数据的存储分为两种方式: 1、直接以文件的形式存储在目录中 2、以json格式存储在数据库中 ...2)SD卡 2、生成.txt文件的方式又可以分为4种 1)使用MODE_PRIVATE模式,生成一个私有的文件 2)

    Android数据持久化之读写SD卡中内容的方法详解

    但与 SharedPreferences 一样,只能在手机内存的指定目录下建立文件,因此,在实际的开发使用中有很大的局限性,那么在这一节中,我们来看一个比较高级的方法来实现数据的持久化——读写SD卡上的内容。 ——读取...

    Android开发之文件操作详解

    Android的文件操作和电脑是比较类似的,既可以存储在手机内置的存储器里也可以是sd卡。在这篇文章里主要介绍在手机内置存储器里的文件操作。 一. 开发流程 (1)界面的设计 (2)设计android的业务层 (3)单元测试 ...

    android开发揭秘PDF

    6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据存储之Network 6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享...

    Google Android SDK开发范例大全(第3版) 1/5

    6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 ...

    Android 6.0区别U盘和SD卡设备的方法详解

    如下所示: public static boolean isSdcardExists(Context context) { StorageManager storageManager = StorageManager.from(context.getApplicationContext()); List<VolumeInfo> volumes = storageManager....

    Google Android SDK开发范例大全(第3版) 4/5

    6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 ...

    Google Android SDK开发范例大全(第3版) 3/5

    6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 ...

    Google Android SDK开发范例大全(第3版) 5/5

    6.9 访问本机内存与存储卡 6.10 实现可定时响起的闹钟 6.11 黑名单来电自动静音 6.12 手机翻背面即静音振动 6.13 指定时间置换桌面背景 6.14 判断发送短信后的状态 6.15 后台服务送出广播信息 6.16 开机程序设计 ...

    Android 实现永久保存数据的方法详解

    背景:在Android中按照数据保存的方式,可以分为如下几种Content Provider (用的SQLite实现),SQLite,...解决方法:保存数据到SD卡中(考虑到SD卡可以保存各种复杂的数据,而且容量相比其他的存储方式要大

Global site tag (gtag.js) - Google Analytics