黑马Android:在外部存储中读写文件
来源:互联网 发布:linux udp网络编程 编辑:程序博客网 时间:2024/04/27 21:45
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText et_name; private EditText et_pass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name = (EditText) findViewById(R.id.et_name); et_pass = (EditText) findViewById(R.id.et_pass); readAccount(); } public void readAccount(){ if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File file = new File("sdcard/info.txt"); FileInputStream fis = null; if(file.exists()){ try { fis = new FileInputStream(file); //把字节流转换成字符流 BufferedReader br = new BufferedReader(new InputStreamReader(fis)); //读取txt文件里的用户名和密码 String text = br.readLine(); String[] s = text.split("##"); et_name.setText(s[0]); et_pass.setText(s[1]); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(fis!=null){ try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } } public void login(View v){ String name = et_name.getText().toString(); String pass = et_pass.getText().toString(); CheckBox cb = (CheckBox) findViewById(R.id.cb); //判断选框是否被勾选 if(cb.isChecked()){ //MEDIA_UNKNOWN:不能识别sd卡 //MEDIA_REMOVED:没有sd卡 //MEDIA_UNMOUNTED:sd卡存在但是没有挂载 //MEDIA_CHECKING:sd卡正在准备 //MEDIA_MOUNTED:sd卡已经挂载,可用 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //返回一个File对象,其路径是sd卡的真实路径 File file = new File(Environment.getExternalStorageDirectory(), "info.txt"); // File file = new File("sdcard/info.txt"); FileOutputStream fos = null; try { fos = new FileOutputStream(file); fos.write((name + "##" + pass).getBytes()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(fos!=null){ try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }else{ Toast.makeText(this, "sd卡不可用哟亲么么哒", 0).show(); } } //创建并显示吐司对话框 Toast.makeText(this, "登录成功", 0).show(); }}
<!--添加权限--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--布局文件--><LinearLayout 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" tools:context="indi.cc_rwinrom.MainActivity" android:orientation="vertical" > <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" /> <EditText android:id="@+id/et_pass" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请输入密码" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <CheckBox android:id="@+id/cb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住用户名和密码" android:layout_centerVertical="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="登录" android:layout_alignParentRight="true" android:onClick="login" /> </RelativeLayout></LinearLayout>
0 0
- 黑马Android:在外部存储中读写文件
- Android 存储学习之在外部存储中读写文件
- 在外部存储中读写文件
- 黑马Android:在内部存储中读写文件
- Android简易实战教程--第十五话《在外部存储中读写文件》
- 黑马Android:用API在内部存储中读写文件
- 外部存储读写文件
- Android中外部,内部文件读写
- Android内/外部存储文件读写操作总结
- Android_02_在内部或外部存储中读写文件的操作
- Android学习(15) --在外部存储读写数据相关
- Android:外部存储的读写
- Android文件读写操作(assets 文件、 raw文件、内部存储文件、外部存储文件)
- Android中向外部存储读写非字符串类数据
- Android 内部存储中读写文件
- 2、文件读写、外部存储、Xml备份
- Androidx学习笔记(12)-- 文件读写操作-在外部存储空间中读写文件
- android外部存储读写权限问题
- React/React Native 的ES5 ES6写法对照表
- 字符串初始化与其在用户栈中的溢出
- 二维数组和指向指针的指针
- Fragment在ViewPager中布局文件丢失
- Objective-C Runtime 运行时之一:类与对象
- 黑马Android:在外部存储中读写文件
- Android Studio 使用错误集
- Hive教程之metastore的三种模式
- java三大框架之spring手动配置web应用环境
- spring,mybatis事务管理配置
- jQuery方法大全
- Rxjava源码(二)-----变换
- 2016暑假集训总结
- AndroidStudio下JNI开发之 libmobi