Android-Java读写文件到自身APP目录
界面:
Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <EditText
android:id="@+id/et_output"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请写入数据到文件"
/> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示读取处理到信息:"
/> <TextView
android:id="@+id/tv_input"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="@android:color/black" android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
/> </LinearLayout> <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"> <Button
android:id="@+id/bt_output"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="写入"
/> <Button
android:id="@+id/bt_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取"
android:layout_alignParentRight="true"
/> </RelativeLayout> </LinearLayout>
MainActivity读写相关代码:
package liudeli.datastorage; import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class MainActivity3 extends Activity implements View.OnClickListener { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3); initViewListener();
} private EditText etOutpu;
private TextView tvInput;
public Button btOutput, btInput; private void initViewListener() {
etOutpu = findViewById(R.id.et_output);
tvInput = findViewById(R.id.tv_input); btOutput = findViewById(R.id.bt_output);
btInput = findViewById(R.id.bt_input); btOutput.setOnClickListener(this);
btInput.setOnClickListener(this); // 让TextView获得焦点,TextView就可以滚动了
tvInput.setSelected(true);
} @Override
protected void onDestroy() {
super.onDestroy();
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_input: {
// Java传统方式 注意:访问自身APP到目录是不需要权限 Linux目录是以/为开头
File file = new File("/data/data/" + getPackageName() + "/my_file.txt");
if (!file.exists()) {
Toast.makeText(MainActivity3.this, "文件不存在", Toast.LENGTH_LONG).show();
return;
}
try {
// 使用字符读取流
FileReader fileReader = new FileReader(file);
// 为什么要用BufferedReader,因为BufferedReader有readLine()的方法
BufferedReader br = new BufferedReader(fileReader);
String result = br.readLine();
tvInput.setText(result + ""); fileReader.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
break;
}
case R.id.bt_output: {
String outputStr = etOutpu.getText().toString();
if (TextUtils.isEmpty(outputStr)) {
Toast.makeText(MainActivity3.this, "请输入内容!", Toast.LENGTH_SHORT).show();
return;
} // Java传统方式 注意:访问自身APP到目录是不需要权限 Linux目录是以/为开头
File file = new File("/data/data/" + getPackageName() + "/my_file.txt");
try {
// 字符写入流
FileWriter fileWriter = new FileWriter(file);
fileWriter.write(outputStr);
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
break;
}
default:
break;
}
}
}
存储的目录:
Android-Java读写文件到自身APP目录的更多相关文章
- 在android中读写文件
在android中读写文件 android中只有一个盘,正斜杠/代表根目录. 我们常见的SDK的位置为:/mnt/sdcard 两种最常见的数据存储方式: 一.内存 二.本地 1.手机内部存储 2.外 ...
- Java读写文件方法总结
Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...
- Java读写文件的几种方式
自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...
- java读写文件大全
java读写文件大全 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int o ...
- 【java】java 读写文件
场景:JDK8 将上传的文件,保存到服务器 Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream( ...
- Android的读写文件权限
设置文件生成的权限: public static boolean saveInfo( Context context, String userName, String userPass, int mo ...
- django中,如何把所有models模型文件放在同一个app目录下?
django的每个app目录下,都有自己的models.py文件. 原则上,每个app涉及的数据库,都会定义在这个文件里. 但是,有的数据库,涉及到多个app应用,不是很方便放在一个单独的app里. ...
- 转:Java读写文件各种方法及性能比较
干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件 ...
- Java读写文件常用方法
一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...
随机推荐
- C#计数器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 学习笔记之SQL / MySQL
SQL Fiddle(在线执行SQL语句的网站) http://www.sqlfiddle.com/ MySQL https://www.mysql.com/ MySQL :: MySQL 5.7 R ...
- PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩 &&搞个鸡巴毛,写少了个‘/’号,浪费了一天
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有 ...
- python mysql模块
多次使用python操作mysql数据库,先与大家分享一下,关于如何使用python操作mysql数据库.mysql并不是python自带的模块,因此需要下载安装.(在windows平台下介绍该使用过 ...
- 2_bootstrap的环境搭建
2.bootstrap环境搭建 2.1.下载资源 中文官网地址:http://d.bootcss.com/bootstrap-3.3.5.zip http://www.bootcss.com 2.2. ...
- 【CentOS 6.5】【转】新版本linux生成xorg.conf
新版本的linux如何生成xorg.conf 较新版本的linux系统都已经没有xorg.conf文件,但是有时候为了对显示做微调或为了支持多屏显示等原因,还需要手工生成一个xorg.conf,然后根 ...
- 自动把\r\n 替换成<p></p>
function nl2p($string, $line_breaks = true, $xml = true) { // Remove existing HTML formatting to avo ...
- tomcat与jboss 01
1. Tomcat是Apache鼎力支持的Java Web应用服务器(注:servlet容器),由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐. 2. Jboss ...
- linux vim操作技巧
安装: NERDTree 从 http://www.vim.org/scripts/script.php?script_id=1658 下载 unzip NERD_tree.zip cd ~/.vi ...
- 为何在JDK安装路径下存在两个JRE?
"两个jre"和"三个lib"的功能简单扼要的解释 安装JDK后,Java目录下有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面 ...