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();
    }
}
时间: 2024-08-27 21:53:59

API内部文件读取的相关文章

javascript 使用Html5 File Api进行文件读取

javascript 使用Html File Api进行文件读取,注意"读取"是只读不写,不可以主动获取浏览器所在主机的文件列表. Html5 中 FileApi主要有 FileUpload, File,FileList,FileError,Blob,FileReader,DataTransfer. 这里主要测试File.因此有必要给一个 test target <form action="javascript:void(0)" method="po

android 内部文件读取

Android 文件管理方法 Android使用的是基于Linux的文件系统,对于文件的訪问和管理是通过权限设置来限制的. 在Linux系统中,文件权限分别描写叙述了创建者.同组用户和其它用户对文件的操作限制. x表示可运行,r表示可读,w表示可写,d表示文件夹,-表示普通文件. 产生这种文件权限与程序人员设定的 Android 存储文件的类型 (内部存储)程序开发者能够建立和訪问程序自身的私有文件; (资源存储)能够訪问保存在资源文件夹中的原始文件和XML文件; (外部存储)能够在SD卡等外部

通过 File API 使用 JavaScript 读取文件

原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的标准方式.为了举例说明其功能,可使用 File API 在向服务器发送图片的过程中创建图片的缩略图预览,或者允许应用程序在用户离线时保存文件引用.另外,您可以使用客户端逻辑来验证上传内容的 mimetype 与其文件扩展名是否匹配,或者限制上传内容的大小. 该规范通过“本地”文件系统提供了多种文件访

jar读取内部文件

最近需要做一个小分享,打算讲一些手机上的技巧,为了在投影仪上显示,做了一个小应用,可以在电脑上实时显示手机界面,也可以模仿手机点击等操作,但是其中遇到了一个问题,因为最后需要导出jar形式文件,所以牵扯到jar文件读取问题,查询了一些资料,发现其实jar中文件读取也是非常的容易,写了个小例子,将一个文本中的内容读取,设置为标题.贴出来: 文件结构如下: 其中123.txt中的有2行内容,第一行是123,第二行是456,运行后界面: 代码如下: import java.io.BufferedRea

C# API: 生成和读取Excel文件

我们想为用户提供一些数据,考虑再三, 大家认为对于用户(人,而非机器)的可读性, Excel文件要好一些. 因为相比csv,xml等文件, Excel中我们可以运用自动筛选, 窗口锁定, 还可以控制背景颜色, 前景颜色, 字体, 网格等等... 业务逻辑并不复杂, 文件的内容和格式也比较固定,所以大家决定直接拿C#去创建这些文件. 于是一搜索,首先来到了这个链接:C# Excel Tutorial 里面包含了下面这些主题的代码示例, 示例很详细, 编译可直接运行. How to create E

Html5 本地文件读取 API 研究使用过程中的意外发现 - MDN

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 补充: 终于可以读出肉的眼能看懂的人类文字了!!! 经在 safari 7.0.4(9537.76.4) 测试,即使关闭 WebGL 支持,Fil

java文件读取

java文件读取 刚开始用java,作为之前C语言的重度使用者,发现以前熟悉的文件读取file.read()在java.io.File类里找不到了.替代之的是java.io.InputStream, InputStream为一个I/O操作的抽象类,其中FileInputStream:read实现了读取文件的方法 File f = new File(fileName); InputStream in = new FileInputStream(f); byte data[] = new byte[

html外部文件读取/写入

1.文件的读取 外部文件读取控件: <input type="file" id="file_jquery" onchange="file_jquery(this.id)"/> 调用函数: function file_jquery(id){ var a = $("#"+id); var selectedFile = $("#"+id)[0].files[0]; console.log(a); co

Android简单介绍SharedPreference,内部文件,sdcard数据存储

SharedPreference 以xml的结构储存简单的数据,储存在data/data/程序包名/shared_prefs文件夹中 使用方式 创建对象的方式有三种 Context 的 getSharedPreferences() Activity 的 getPreferences() PreferenceManager 的 getDefaultSharedpreferences() 获取数据 sharedPrefs.getXXX()方法,如getInt(),getString()等 储存数据