03_Android项目中读写文本文件的代码

  1. 编写一下Android界面的项目

  1. 使用默认的Android清单文件

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.itheima28.writedata"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="19" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name="com.itheima28.writedata.MainActivity"

android:label="@string/app_name" >

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

  1. Android布局文件

<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"

android:orientation="vertical"

tools:context=".MainActivity">

<Button

android:id="@+id/btn_read_private"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="读私有文件" />

<Button

android:id="@+id/btn_write_private"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="写私有文件" />

<Button

android:id="@+id/btn_read_readable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="读可读文件" />

<Button

android:id="@+id/btn_write_readable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="写可读文件" />

<Button

android:id="@+id/btn_read_writeable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="读可写文件" />

<Button

android:id="@+id/btn_write_writeable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="写可写文件" />

<Button

android:id="@+id/btn_read_readable_writeable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="读可读可写文件" />

<Button

android:id="@+id/btn_write_readable_writeable"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="写可读可写文件" />

</LinearLayout>

4 Android中的写文本文件的代码


package com.itheima28.writedata;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStreamReader;

import android.content.Context;

import android.os.Bundle;

import android.support.v7.app.ActionBarActivity;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Toast;

/**

* 读写文件

* 注意可以将写文件和写文件的两个功能分别写到不同的项目中进行测试

* @author toto

*/

public class MainActivity extends ActionBarActivity implements OnClickListener{

//这个路径是文件所在路径

private String basicPath = "/data/data/com.itheima28.writedata/files/";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 写数据

// 私有文件

writeToLocal("private.txt", Context.MODE_PRIVATE);

// 可读文件

writeToLocal("readable.txt", Context.MODE_WORLD_READABLE);

// 可写文件

writeToLocal("writeable.txt", Context.MODE_WORLD_WRITEABLE);

// 可读可写文件

writeToLocal("readable_writeable.txt", Context.MODE_WORLD_READABLE

+ Context.MODE_WORLD_WRITEABLE);

findViewById(R.id.btn_read_private).setOnClickListener(this);

findViewById(R.id.btn_write_private).setOnClickListener(this);

findViewById(R.id.btn_read_readable).setOnClickListener(this);

findViewById(R.id.btn_write_readable).setOnClickListener(this);

findViewById(R.id.btn_read_writeable).setOnClickListener(this);

findViewById(R.id.btn_write_writeable).setOnClickListener(this);

findViewById(R.id.btn_read_readable_writeable).setOnClickListener(this);

findViewById(R.id.btn_write_readable_writeable).setOnClickListener(this);

}

/**

* 写文件

* @param fileName

* @param mode

*/

private void writeToLocal(String fileName, int mode) {

try {

FileOutputStream fos = openFileOutput(fileName, mode);

fos.write(("第一个程序写的数据:" + fileName).getBytes());

fos.flush();

fos.close();

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 哪一个控件被点击, v对象就代表被点击的对象

*/

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btn_read_private:

readFile("private.txt");

break;

case R.id.btn_write_private:

writeFile("private.txt");

break;

case R.id.btn_read_readable:

readFile("readable.txt");

break;

case R.id.btn_write_readable:

writeFile("readable.txt");

break;

case R.id.btn_read_writeable:

readFile("writeable.txt");

break;

case R.id.btn_write_writeable:

writeFile("writeable.txt");

break;

case R.id.btn_read_readable_writeable:

readFile("readable_writeable.txt");

break;

case R.id.btn_write_readable_writeable:

writeFile("readable_writeable.txt");

break;

default:

break;

}

}

/**

* 读文件

* @param fileName

*/

private void readFile(String fileName) {

try {

String path = basicPath + fileName;

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path)));

String text = reader.readLine();

reader.close();

Toast.makeText(this, "读取成功: " + text, 0).show();

} catch (Exception e) {

e.printStackTrace();

Toast.makeText(this, "读取失败: " + fileName, 0).show();

}

}

/**

* 写文件

* @param fileName

*/

private void writeFile(String fileName) {

try {

String path = basicPath + fileName;

FileOutputStream fos = new FileOutputStream(path);

fos.write("哈哈, 被我给黑了".getBytes());

fos.flush();

fos.close();

Toast.makeText(this, "写入成功: " + fileName, 0).show();

} catch (Exception e) {

e.printStackTrace();

Toast.makeText(this, "写入失败: " + fileName, 0).show();

}

}

}

??

时间: 2024-10-12 09:01:02

03_Android项目中读写文本文件的代码的相关文章

PHP中读写文件实现代码

PHP中读写文件实现代码 PHP中读写文件实现代码,整理的还不错,需要的朋友可以参考下. 在PHP中读写文件,可以用到一下内置函数: 1.fopen(创建文件和打开文件) 语法: 复制代码 代码如下: fopen(filename,mode) filename,规定要打开的文件.mode,打开文件的模式,可能的值见下表. mode 说明 "r" 只读方式打开,将文件指针指向文件开头. "r+" 读写方式打开,将文件指针指向文件开头. "w" 写入

Findbug在项目中的运用--提高代码质量

 FindBugs是一个静态分析工具,它检查类或者 JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析 第一 手动安装 在Eclipse点击菜单中Help-->菜单 第二:输入地址: http://findbugs.cs.umd.edu/eclipse,出现版本列表: 按照一步步提示安装重启即可 =================================================== 2) (Re-)star

在PHP项目中使用Standford Moss代码查重系统

Standford Moss 系统是斯坦福大学大名鼎鼎的代码查重系统,它可以查出哪些同学提交的代码是抄袭别人的,从而将提交结果拒之门外.它对一切希望使用该系统的人都是开放的,那么在PHP的项目中如何使用它呢? 下载Moss的PHP文件moss.php 您可以访问https://github.com/Phhere/MOSS-PHP 来下载moss.php,并将它放在您的第三方扩展库中 使用moss.php 通过下面的范例代码您就可以简单的做个moss小测试了 <?phpinclude("mo

一个项目中如果有重复代码,如何变成一个标签使其通用?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="Web.index" %> Page:所使用的是page页面,也就是所谓的aspx页面 AutoEventWireup:是否自动关联某些特殊事件(例如:Page_Load(),)默认true CodeBehind:属性并不是一个真正的 ASP.NET

unity3D项目中如何避免硬代码(C#)

平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢? 我们俗称的硬代码:eg:  1 public UIlabel label; 2 label.text = "欢迎来到梦幻岛";  这样我们俗称为硬代码. 好了,那么该如何避免,话不多说,直接上图: 这是一种处理方式,TXT 格式的文档,前面是ID,后面是描述性文字. 可是我们该如何在项目中访问这个txt文件里面的数据呢? 话不多说,直接上代码: 1 using UnityEngine; 2 usi

使用TProfiler分析并调优项目中的Fastjson序列化代码

新项目年后就上线了,现在业务上没什么问题,就用TProfiler做了下性能分析,果然有坑. 一.TProfiler入门 高手请自觉略过本节. 1.简介 TProfiler是阿里巴巴开源的一款性能分析工具.号称可以用于生产环境进行长期的性能分析.测试程序部署后,在低峰期对响应时间影响20%,在高峰期对QPS影响30%.详细介绍请见官方WIKI. 2.简要的实现原理 TProfiler的实现基于JAVA的Instrumentation 和ASM.Instrumentation可以理解为一种虚拟机级别

使用 Lombok 简化项目中无谓的Java代码

在写使用Java时,难免会有一些模板代码要写,不然get/set,toString, hashCode, close 资源,定义构造函数等等.代码会显得很冗余,很长.Lombok项目可以是我们摆脱这些东西,通过一系列的注解,Lombok可以帮我们自动生成这些函数. Lombok 官网地址:https://projectlombok.org/ 参考文档:https://projectlombok.org/features/index.html 1. 安装 到官网下载 lombok.jar,直接双击

项目中计算票价的代码小结

1 package com.zq.www.mis.dao; 2 //import java.text.SimpleDateFormat; 3 //import java.util.Date; 4 5 import org.hibernate.Query; 6 import org.springframework.stereotype.Repository; 7 8 import com.zq.www.common.BaseDAO; 9 import com.zq.www.mis.entity.D

如何在qmake项目中在QML语言中调用C++代码

在这篇文章中,我们将介绍如何在QML中使用C++代码.在以前的文章" 使用C++拓展QML 类型及Property binding!"中,我们可以可以通过C++ plugin的方法来拓展我们的QML功能.那个项目是CMake项目.对于qmake项目来说,我们也可以做同样的事.可以使用一个plugin,并在QML中调用它. 今天,我们将不使用plugin的方法,我们希望在qmake项目中直接调用C++代码.那么我们将如何做呢?这里注意qmake只对15.04及以上的ubuntu手机tar