将TXT文本在内存卡上保存、查看和删除

本文介绍了一个简单的Android应用程序示例,演示了如何在Android设备上进行SD卡文件的保存、读取和删除操作。通过使用Java代码,文章详细展示了如何检查SD卡状态、创建文件以及进行文件I/O操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

private EditText title_ed;
	private EditText content_ed;
	private Button save;
	private Button read;
	private Button delete;
	private TextView tv_title;
	private TextView tv_content;

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

		title_ed = (EditText) findViewById(R.id.title);
		content_ed = (EditText) findViewById(R.id.content);

		save = (Button) findViewById(R.id.button);
		read = (Button) findViewById(R.id.read);
		delete = (Button) findViewById(R.id.delete);
		tv_title = (TextView) findViewById(R.id.tv_title);
		tv_content = (TextView) findViewById(R.id.tv_content);

		save.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {

				String title = title_ed.getText().toString();
				String content = content_ed.getText().toString();

				/*
				 * Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机
				 * 装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
				 */
				if (Environment.getExternalStorageState().equals(
						Environment.MEDIA_MOUNTED)) {
					File sdCardDir = Environment.getExternalStorageDirectory();// 获取SDCard目录
					File saveFile = new File(sdCardDir, title + ".txt");
					// File saveFile = new File(sdCardDir.getPath() +
					// java.io.File.separator+ title + ".txt");
					FileOutputStream outStream;
					try {
						outStream = new FileOutputStream(saveFile);
						outStream.write(content.getBytes());
						outStream.close();
						Toast.makeText(SaveToCard.this, "保存完成",
								Toast.LENGTH_LONG).show();
					} catch (Exception e) {
						e.printStackTrace();
						Toast.makeText(SaveToCard.this, "保存不成功",
								Toast.LENGTH_LONG).show();
					}
				}
			}

		});

		read.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				String title = title_ed.getText().toString();
				File sdCardDir = Environment.getExternalStorageDirectory();// 获取SDCard目录
				File file = new File(sdCardDir.getPath() + 
						java.io.File.separator + title + ".txt");
				if(file.exists()){
					try {
						FileInputStream inStream = new FileInputStream(file);
						ByteArrayOutputStream outStream = new ByteArrayOutputStream();
						byte[] buffer = new byte[1024];
						int length = -1;
						while ((length = inStream.read(buffer)) != -1) {
							outStream.write(buffer, 0, length);
						}
						outStream.close();
						inStream.close();
						
						tv_title.setText(title);
						tv_content.setText(outStream.toString());
					} catch (IOException e) {
						Log.i("FileTest", e.getMessage());
					}
				}
				else{
					Toast.makeText(SaveToCard.this, "文件不存在" + sdCardDir.getPath() + 
							java.io.File.separator + title + ".txt", Toast.LENGTH_LONG)
					.show();
				}
			}

		});

		delete.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				File sdCardDir = Environment.getExternalStorageDirectory();// 获取SDCard目录
				File saveFile = new File(sdCardDir.getPath()
						+ java.io.File.separator + title_ed.getText() + ".txt");
				if (saveFile.exists()) {
					saveFile.delete();
					Toast.makeText(SaveToCard.this, "删除成功", Toast.LENGTH_LONG)
							.show();
				} else {
					Toast.makeText(SaveToCard.this, "文件不存在", Toast.LENGTH_LONG)
							.show();
				}
			}

		});

	}
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值