API内部文件读取
直接上代码吧
尝试将项目复制后建一个新的项目,结果总是有问题,不过可以把原项目转换为新项目,方法如下:
1.项目右键在android tools 有个 rename application package选项,这是改包名的,改完这个就是两个不同的应用
2.要想两个工程共存在Eclipse下的话,就还要选中项目 按F2 就可以改 项目的名字。
主要解决在上一个文档中,路径data/data/com.swust.intern这个不能写错的问题,所以直接使用谷歌提供的API获取环境变量,防止读错。
getFilesDir(),返回一个文件路径:
data/data/com.swust.ApiIntern/files路径
修改前:
File file =new File("data/data/com.swust.intern/info.txt");
修改后:
File file =new File(getFilesDir(),"info.txt");
这样在data/data/com.swust.ApiIntern/files(多个文件夹)下便有了info.txt
代码:
package com.swust.intern; import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader; import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.swust.APIintern.R; public class MainActivity extends Activity { private EditText et_name;
private EditText et_pwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//已经是全局变量,应用启动时获取ID
et_name = (EditText) findViewById(R.id.et_name);
et_pwd = (EditText) findViewById(R.id.et_pwd); //应用启动后,读取存档的用户名和密码
readAccount();
}
public void readAccount(){
//File file =new File("data/data/com.swust.intern/info.txt");
File file =new File(getFilesDir(),"info.txt");
//判读文件是否存在
if(file.exists()){
try{
FileInputStream 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_pwd.setText(s[1]); }catch (Exception e){
e.printStackTrace();
}
} }
public void login(View v){ CheckBox cb = (CheckBox)findViewById(R.id.cb);
String name=et_name.getText().toString();
String pwd =et_pwd.getText().toString();
//判读复选框是否被勾选
if(cb.isChecked()){
//"data/data/com.swust.intern"是内部存储空间路径
//File file =new File("data/data/com.swust.intern/info.txt");
File file =new File(getFilesDir(),"info.txt");
FileOutputStream fos;
try{
fos = new FileOutputStream(file);
//加“##”是为了读取时好分割
fos.write((name + "##" +pwd).getBytes());
fos.close();
}catch (Exception e){
e.printStackTrace();
}
}
//System.out.println("登陆成功");
//创建吐司对话框
/* 第一个参数上context,而activity本来就是context的子类,所以直接填this*/
/*第三个参数为持续显示时间,只有LENGTH_SHORT(2S)和LENGTH_LONG(5s)两种选择*/
/*Toast t= Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT);
//显示吐司对话框
t.show();*/ Toast.makeText(this, "登陆成功", Toast.LENGTH_SHORT).show();
}
}
API内部文件读取的更多相关文章
- Android_内部文件读取
我们这里做一个安卓的简易的文件读取程序之记住密码 首先我们先明确安卓的存储路径, 所有安装至手机的应用都会在 data/data 目录下生成一个安卓文件夹(包名),这个文件夹就是安卓存储的路径 在运行 ...
- android 内部文件读取
Android 文件管理方法 Android使用的是基于Linux的文件系统,对于文件的訪问和管理是通过权限设置来限制的. 在Linux系统中,文件权限分别描写叙述了创建者.同组用户和其它用户对文件的 ...
- 通过 File API 使用 JavaScript 读取文件
原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...
- C# 通过api函数GetPrivateProfileString读取ini文件,取不到值
通过api函数GetPrivateProfileString读取ini文件,取不到值,测试了好长时间,都不行 确认程序,ini文件都没有错误的情况,最后发现是ini文件编码的原因. 将ini文件的编码 ...
- FileReader文件读取API
:用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据. 1.FileReader接口的方法 Fi ...
- Android简单介绍SharedPreference,内部文件,sdcard数据存储
SharedPreference 以xml的结构储存简单的数据,储存在data/data/程序包名/shared_prefs文件夹中 使用方式 创建对象的方式有三种 Context 的 getShar ...
- 详解Js中文件读取机制
前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
- 使用 JavaScript File API 实现文件上传
概述 以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScr ...
随机推荐
- js之动态加载等待图像地址汇总
Ajax火啊,火到了居然Loading Icons都有很多人专门提供的地步.下面是我同事给我介绍的一些提供Ajax Activity Indicators的网站,共享给大家,以便让我们的Ajax应用具 ...
- 第三弹:ZFNet
在所有深度网络中,卷积神经网和图像处理最为密切相关,卷积网在很多图片分类竞赛中都取得了很好的效果,但卷积网调参过程很不直观,很多时候都是碰运气.为此,卷积网发明者Yann LeCun的得意门生Matt ...
- iOS开发——设备信息小结(未完待续...)
1.获取设备的信息 UIDevice *device = [[UIDevice alloc] init]; NSString *name = device.name; //获取设备所有者 ...
- iOS开发系统版本适配(未完待续。。。)
1.iOS9引入了新特性App Transport Security (ATS).新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用T ...
- FireBug 调试工具(推荐)
Firebug是网页浏览器 Mozilla Firefox 下的一款开发类扩展,如同一把精巧的瑞士军刀,从各个不同的角度剖析Web页面内部的细节层面,给Web开发者带来很大的便利. 安装如下: 下面是 ...
- NLPIR中文分词器的使用
一.普通java项目 (1)添加项目jar包 File -> Project Structure Libarries 添加jar包jna-4.0.0.jar (2)将Data文件夹复制到 ...
- git 关联远程库(https协议)
1.在oschina上新建库 2.在本地文件夹右键->"git Bash here" 3.设置全局变量: git config --global user.name &quo ...
- 今天学习了下,如何破解wifi
破解了隔壁的wif,得罪了,哥哥要蹭网一段时间. 主要思路:安装linux环境.这里我选择了虚拟机加cdlinux .运行里面的min抓得握手包,然后淘宝花10元跑下包,因为自己的电脑不行,跑费时间太 ...
- TSP问题 遗传算法 智能优化算法
写了半天,效率还是有点低的,以后有空再优化下: //用次序表示法来表示个体编码 #include<iostream> #include<fstream> #include< ...
- MySQL 安装 5.0
MySQL免安装版配置 1.下载 MySQL 免安装版 2.将 MySQL 解压到待安装目录,使用%MYSQL_HOME%表示 3.打开文件my-huge.ini另存为my.ini,在my.ini文件 ...