import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import android.content.Context; import android.os.Environment; public class Fileservice { /** * 存储用户密码的方法 * * @param context * @param user * @param psd */ public static boolean saveUserInfo(Context context, String user, String psd) { /* * SD卡,也就是手机的外部存储设备,将数据保存在SD卡中 SD卡在做写操作的时候,必须给权限,读操作不需要加权限 */ try { //TODO---理解Environment中的常量 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { System.out.println("外部存储设备的路径:" + Environment.getExternalStorageDirectory()); File file = new File( Environment.getExternalStorageDirectory(), "user.txt"); //File file = new File("mnt/sdcard/", "user.txt");这句代码和上面的代码的效果是等价的 // 需要存储的数据 String str = user + "##" + psd; // 输出流,进行文件的读写操作 FileOutputStream out = new FileOutputStream(file); out.write(str.getBytes()); out.close(); return true; } else { return false; } } catch (Exception e) { return false; } } public static String getUserInfo(Context context) { try { //判断sd卡是否已经挂载的状态,如果是挂载的状态就是可读可写 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ File file = new File(Environment.getExternalStorageDirectory(), "user.txt"); //下面对文件流操作的方式是一致的 FileInputStream fileInputStream = new FileInputStream(file); InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream); BufferedReader reader=new BufferedReader(inputStreamReader); //BufferedReader的流操作对象,可以读取一行 String str=reader.readLine(); return str; }else{ return null; } } catch (Exception e) { return null; } } }
注意对sd卡文件的读写的操作,需要添加权限。android.permission.WRITE_EXTERNAL_STORAGE,通过可视化工具添加,或手动添加都可以。
对SD卡的读写操作-保存用户登录密码,布布扣,bubuko.com
时间: 2024-08-01 19:51:23