用android studio写一个文件存储程序
时间: 2023-07-28 16:12:04 浏览: 48
好的,以下是一个简单的示例程序,可以实现文件的存储和读取功能。
1. 创建一个新的 Android Studio 项目,并在 MainActivity.java 文件中添加以下代码:
```java
import android.content.Context;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
private EditText mEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.edit_text);
// 加载上次保存的文本内容
String text = loadText();
if (text != null) {
mEditText.setText(text);
}
}
// 保存文本内容到文件中
public void saveText(View view) {
String text = mEditText.getText().toString();
if (text != null && !text.equals("")) {
try {
FileOutputStream fos = openFileOutput("data.txt", Context.MODE_PRIVATE);
fos.write(text.getBytes());
fos.close();
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 从文件中加载文本内容
private String loadText() {
try {
FileInputStream fis = openFileInput("data.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
```
2. 在 layout 目录下创建一个新的布局文件 activity_main.xml,添加以下代码:
```xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="输入要保存的文本内容" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/edit_text"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="saveText"
android:text="保存" />
</RelativeLayout>
```
3. 运行程序,输入要保存的文本内容,点击保存按钮即可将文本保存到文件中。下次运行程序时,程序会自动加载上次保存的文本内容。
这个示例程序只是一个简单的文件存储示例,实际应用中可能需要更复杂的文件操作,如创建文件夹,删除文件等。同时,要注意 Android 系统对文件存储的限制,如存储权限等。