androidjava写⽂件操作_Android编程之⽂件的读写实例详解本⽂实例分析了Android编程之⽂件的读写⽅法。分享给⼤家供⼤家参考,具体如下:
Android的⽂件读写与JavaSE的⽂件读写相同,都是使⽤IO流。⽽且Android使⽤的正是JavaSE的IO流,下⾯我们通过⼀个练习来学习Android的⽂件读写。
1.创建⼀个Android⼯程
Project name:File
BuildTarget:Android2.2
Application name:⽂件读写
Package name:test.file
Create Activity:DateActivity
Min SDK Version:8
数据保存
⽂件名
⽂件内容
保存
读取
保存⽂件成功
保存⽂件失败
读取⽂件失败
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="wrap_content" android:text="@string/file_name" />
android:layout_height="wrap_content" android:id="@+id/et_file_name" />
android:layout_height="wrap_content" android:text="@string/file_content" />
android:layout_height="wrap_content" android:minLines="3"
android:id="@+id/et_file_content" />
android:layout_height="wrap_content">
android:layout_height="wrap_content" android:text="@string/button_file_save"
android:id="@+id/bt_save" />
android:layout_height="wrap_content" android:layout_toRightOf="@id/bt_save"
android:text="@string/button_file_read" android:id="@+id/bt_read"
/>
添加java代码
⾸先我们向⼯程中添加⼀个FileService.java:其实就是⽤的java⾥⾯的⽂件操作。
package test.service;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
t.Context;
import android.os.Environment;
public class FileService {
private Context context;
public FileService(Context context) {
}
public void saveToSDCard(String filename, String content) throws Exception{
ExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file = new ExternalStorageDirectory(), filename);
FileOutputStream outStream = new FileOutputStream(file);
outStream.Bytes());
outStream.close();
}
}
public void save(String filename, String content) throws Exception{
FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE); outStream.Bytes());
outStream.close();
}
然后再向⼯程中添加FileButtonOnClickEvent.java:
package test.event;
import test.file.R;
import test.service.FileService;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class FileButtonOnClickEvent implements OnClickListener { private Activity activity;
// 通过FileService读写⽂件
private FileService fileService;
// 打印信息⽤的标签getsavefilename
private static final String TAG = "FileButtonOnClickEvent";
public FileButtonOnClickEvent(Activity activity) {
this.activity = activity;
this.fileService = new FileService(activity);
}
public void onClick(View v) {
Button button = (Button) v;
switch (Id()) {
case R.id.bt_save:
// 获取⽂件名
EditText etFileNameS = (EditText) this.activity
.findViewById(_file_name);
String fileNameS = Text().toString();
// 获取⽂件内容
EditText etFileConS = (EditText) this.activity
.
findViewById(_file_content);
String fileContentS = Text().toString();
// 保存
try {
this.fileService.save(fileNameS, fileContentS);
// 在窗⼝中显⽰⼀个特效信息框
Toast.makeText(this.activity, R.string.file_save_success,
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(this.activity, R.string.file_save_failed,
Toast.LENGTH_LONG).show();
Log.e(TAG, e.toString());
}
break;
case R.id.bt_read:
// 获取⽂件名
EditText etFileNameR = (EditText) this.activity
.findViewById(_file_name);
String fileNameR = Text().toString();
// 读取⽂件
try {
String fielContentR = adFile(fileNameR);
EditText etFileConR = (EditText) this.activity
.findViewById(_file_content);
etFileConR.setText(fielContentR);
Log.i(TAG, "read file success!");
} catch (Exception e) {
Toast.makeText(this.activity, R.string.file_read_failed,
Toast.LENGTH_LONG).show();
Log.e(TAG, e.toString());
}
break;
default:
break;
}
}
}
public void saveAppend(String filename, String content) throws Exception{// ctrl+shift+y / x FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_APPEND); outStream.Bytes());
outStream.close();
public void saveReadable(String filename, String content) throws Exception{// ctrl+shift+y / x FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_READABLE); outStream.Bytes());
outStream.close();
}
public void saveWriteable(String filename, String content) throws Exception{// ctrl+shift+y / x FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_WORLD_WRITEABLE); outStream.Bytes());
outStream.close();
}
public void saveRW(String filename, String content) throws Exception{
FileOutputStream outStream = context.openFileOutput(filename,
Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE);
outStream.Bytes());
outStream.close();
}
public void savePRW(String filename, String content) throws Exception{
FileOutputStream outStream = context.openFileOutput(filename,
Context.MODE_WORLD_READABLE+ Context.MODE_WORLD_WRITEABLE+Context.MODE_APPEND); outStream.Bytes());
outStream.close();
}
public String readFile(String filename) throws Exception{
FileInputStream inStream = context.openFileInput(filename);
byte[] data = readData(inStream);
return new String(data);
}
private byte[] readData(FileInputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while( (len = ad(buffer))!= -1){
outStream.write(buffer, 0, len);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论