android 文件读写demo,Android中文件读写的Demo

这是一个Android平台的小应用,主要实现了SD卡上文件的读写操作,通过IO流来实现。

MainActivity.java

package com.landroid.files;

import com.landroid.files.R;

import com.landroid.service.FileService;

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;

import android.widget.Toast;

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button button = (Button) this.findViewById(R.id.button);

button.setOnClickListener(new ButtonOnClickListener());

}

private final class ButtonOnClickListener implements OnClickListener {

public void onClick(View v) {

EditText filenameText = (EditText) findViewById(R.id.filename);

EditText filecontentText = (EditText) findViewById(R.id.filecontent);

String filename = filenameText.getText().toString();

String filecontent = filecontentText.getText().toString();

FileService service = new FileService(getApplicationContext());

try {

service.save(filename, filecontent);

Toast.makeText(getApplicationContext(), R.string.success, 1).show();

} catch (Exception e) {

Toast.makeText(getApplicationContext(), R.string.fail, 1).show();

e.printStackTrace();

}

}

}

}

FileService.java

package com.landroid.service;

import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import android.content.Context;

public class FileService {

private Context context;

public FileService(Context context) {

this.context = context;

}

/**

* 保存文件

* @param filename 文件名称

* @param filecontent 文件内容

*/

public void save(String filename, String filecontent) throws Exception {

// 私有操作模式:创建出来的文件只能被本应用访问,其它应用无法访问该文件

// 另外采用私有操作模式创建的文件,写入文件中的内容会覆盖源文件的内容

FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_PRIVATE);

outStream.write(filecontent.getBytes());

outStream.close();

}

/**

* 读取文件内容

* @param filename 文件名称

* @return 文件内容

* @throws Exception

*/

public String read(String filename) throws Exception {

FileInputStream inStream = context.openFileInput(filename);

byte[] buffer = new byte[1024];

ByteArrayOutputStream outStream = new ByteArrayOutputStream();

int len = 0;

while((len = inStream.read(buffer)) != -1) {

outStream.write(buffer, 0, len);

}

byte[] data = outStream.toByteArray();

new String(data);

return null;

}

}

main.xml

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/app_name" />

android:id="@+id/filename"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/filecontent" />

android:id="@+id/filecontent"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:minLines="3"

/>

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/button"

/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值