android 读写文件

MainActivity.java

package cn.itcast.fileio;



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


import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private EditText etName;
private EditText etAge;
private EditText etContent;


public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

etName = (EditText) findViewById(R.id.etName);
etAge = (EditText) findViewById(R.id.etAge);
etContent = (EditText) findViewById(R.id.etContent);

findViewById(R.id.btnSaveDisk).setOnClickListener(this);
findViewById(R.id.btnReadDisk).setOnClickListener(this);
}

/**
*
*/
public void onClick(View v) {
try {
int id = v.getId();
//添加
if(id == R.id.btnSaveDisk){
String name = etName.getText().toString();
String age = etAge.getText().toString();
FileOutputStream fos = this.openFileOutput("itcast.txt",Activity.MODE_APPEND);
String cont = "name=" + name + ",age=" + age;
fos.write(cont.getBytes());
fos.close();
Toast.makeText(this, "写入完成", 1).show();
//清空文本框
etName.getText().clear();
etAge.getText().clear();
}
//读取
else if(id == R.id.btnReadDisk){
FileInputStream fis = this.openFileInput("itcast.txt");
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
etContent.setText(new String(bytes));
}
} catch (Exception e) {
Log.i("main",e.getMessage());
}
}

}



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"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="name:"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/etName"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="age:"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/etAge"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="save"
android:id="@+id/btnSaveDisk"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="read"
android:id="@+id/btnReadDisk"
/>
</LinearLayout>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/etContent"
/>
</LinearLayout>

### Adobe AIR Android 文件读写教程 #### 创建项目并设置权限 为了能够在Android平台上执行文件读取和写入操作,首先需要确保应用程序具有相应的权限。在`application.xml`文件中添加必要的权限声明: ```xml <android> <manifestAdditions><![CDATA[ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ]]></manifestAdditions> </android> ``` 此部分配置允许应用访问设备存储空间[^2]。 #### 使用File类进行基本操作 Adobe AIR提供了强大的API支持跨平台文件处理功能。下面是一个简单的例子展示如何创建、读取以及向文件追加数据: ##### 写入文件 要保存字符串到指定路径下的文本文件中可以这样做: ```actionscript var file:File = File.applicationStorageDirectory.resolvePath("example.txt"); var stream:FileStream = new FileStream(); stream.open(file, FileMode.WRITE); stream.writeUTFBytes("Hello World!"); stream.close(); ``` 这段代码会在应用程序私有目录下新建名为`example.txt`的文件,并写入一段文字[^1]. ##### 追加内容至现有文件 如果希望不覆盖而是增加新信息,则应采用不同的模式打开流对象: ```actionscript var appendStream:FileStream = new FileStream(); appendStream.open(file, FileMode.APPEND); appendStream.writeUTFBytes("\nThis is an appended line."); appendStream.close(); ``` 上述脚本将在之前创建的文件末尾附加一行新的文本. ##### 读取文件内容 当需要获取已存放在文件内的资料时可利用如下方法: ```actionscript var readStream:FileStream = new FileStream(); readStream.open(file, FileMode.READ); trace(readStream.readUTFBytes(readStream.bytesAvailable)); readStream.close(); ``` 这里展示了怎样把整个文件的内容一次性全部加载进来显示出来. #### 注意事项 - 应始终记得关闭任何打开过的文件流以防资源泄露。 - 对于大尺寸文件建议分块读/写而不是一次性完成整个过程以免占用过多内存。 - 考虑异常情况的发生,在实际部署前做好充分测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值