其实就一个方法,就不贴所有代码了。

    /**
* 写入文件方法
* @param content
*/
public static void write(String content) {
try {
//判断实际是否有SD卡,且应用程序是否有读写SD卡的能力,有则返回true
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 获取SD卡的目录
File sdCardDir = Environment.getExternalStorageDirectory();
String path = "/APP/";
File dir = new File(sdCardDir+path);
if (!dir.exists()) {
dir.mkdirs();
}
File targetFile = new File(sdCardDir.getCanonicalPath() + path+"aaa.txt");
//使用RandomAccessFile是在原有的文件基础之上追加内容,
//而使用outputstream则是要先清空内容再写入
RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");
//光标移到原始文件最后,再执行写入
raf.seek(targetFile.length());
raf.write(content.getBytes());
raf.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
package com.example.linfeng.myapplication;

import android.os.Environment;

import java.io.File;
import java.io.RandomAccessFile;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* Created by LinFeng on 2017/11/13.
*/ public class TextHelper { public static void write(String content, String PathName, String FileName) {
try {
//判断实际是否有SD卡,且应用程序是否有读写SD卡的能力,有则返回true if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 获取SD卡的目录
File sdCardDir = Environment.getExternalStorageDirectory();
//Log.i("paht",sdCardDir.toString());
String path = "/" + PathName + "/";
//如果不存在,就创建目录
File dir = new File(sdCardDir + path);
if (!dir.exists()) {
dir.mkdirs();
}
File targetFile = new File(sdCardDir.getCanonicalPath() + path + FileName + ".dat");
//使用RandomAccessFile是在原有的文件基础之上追加内容,
//而使用outputstream则是要先清空内容再写入
RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");
//光标移到原始文件最后,再执行写入
raf.seek(targetFile.length());
raf.write(content.getBytes());
raf.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} //写头文件,如果不存在写,存在就不写
public static void writeHead(String path,String fileName,char type){ String string=Environment.getExternalStorageDirectory()+"/" + path + "/"+fileName+".dat";
if (!fileIsExists(string)){
switch (type){
case 'I':
String content = "Type=Inventory"+"\r\n"+"Date="+getStringDate()+"\r\n"+"ScannerNo=01";
write(content,path,fileName);
break;
case 'M':
write("Type=Market"+"\r\n",path,fileName);
break;
case 'R':
write("Type=Return"+"\r\n",path,fileName);
break;
}
}else{ }
} //判断文件是否存在
public static boolean fileIsExists(String strFile) {
try {
File f = new File(strFile);
if (!f.exists()) {
return false;
}
} catch (Exception e) {
return false;
}
return true;
} //获取当前时间,格式为:yyyyMMdd HH:mm:ss
public static String getStringDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
String dateString = formatter.format(currentTime);
return dateString;
}
}

安卓如何将TXT文件写到特定路径的更多相关文章

  1. 读取同一文件夹下多个txt文件中的特定内容并做统计

    读取同一文件夹下多个txt文件中的特定内容并做统计 有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计. 昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的 ...

  2. Python读写txt文件时的编码问题

    这个问题来自于一个小伙伴,他在处理中文数据时需要先把里面的文本过滤然后分词,因为里面有许多符号,不仅是中文标点符号,还有✳,emoji等奇怪的符号. 正常情况下,中文的str经过encode('utf ...

  3. MySQL笔记(三)由txt文件导入数据

    改编自学校实验,涉及一些字符集相关的问题. 索引 建库 导入数据 最终脚本 下载数据 点击这里 建库 create.sql DROP DATABASE IF EXISTS orderdb; CREAT ...

  4. pipreqs 生成requirements.txt文件时编码错误问题

    1,首先安装pipreqs --> pip install pipreqs 2.生成相应项目的路径  --> pipreqs  e:\a\b 在此时可能会遇见 UnicodeDecodeE ...

  5. 使用Java将搜狗词库文件(文件后缀为.scel)转为.txt文件

    要做一个根据词库进行筛选主要词汇的功能,去搜狗下载专业词汇词库时,发现是.scel文件,且通过转换工具(http://tools.bugscaner.com/sceltotxt/)转换为txt时报错如 ...

  6. 【学习总结】GirlsInAI ML-diary day-15-读/写txt文件

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day15 认识读/写txt文件 路径: 绝对路径:文件在电脑中的位置 相对路径:下面会用到 1-准备 新建一个 pytho ...

  7. java 写一个"HelloJavaWorld你好世界"输出到操作系统文件Hello.txt文件中

    package com.beiwo.homework; import java.io.File; import java.io.FileOutputStream; import java.io.IOE ...

  8. C# 读取网络txt文件 并写在本地txt文件中

    public void WriteStream() { try { stirng ImagesPath = ImagesPath + "\\2013-09-27.txt"; Htt ...

  9. 在.txt文件的首行写上.LOG后,后面每次对改文本文件进行编辑后,系统会自动在编辑内容后记录操作时间

    在.txt文件的首行写上.LOG后,后面每次对改文本文件进行编辑后,系统会自动在编辑内容后记录操作时间

随机推荐

  1. js中介者模式

    中介者模式(Mediator),用一个中介者对象来封装一系列对象交互.中介者使各对象不需要显示地相互引用,从而使其松散,而且可以独立地改变它们之间的交互. 从生活中例子自然知道,中介者模式设计两个具体 ...

  2. struts学习(3)

    1 ognl概述 2 ognl入门案例 3 什么是值栈 (1)servlet和action区别 (2)值栈存储位置 4 如何获取值栈对象 5 值栈内部结构 6 向值栈放数据 (1)s:debug标签 ...

  3. Microsoft MVC3 框架

             1. 安装MVC3框架 官网:http://www.asp.net/mvc 下载:ASP.NET MVC3 with Tools http://go.microsoft.com/fw ...

  4. Ajax-快速上手前后端交互

    Ajax 在之前自己也有总结过关于Ajax的笔记,各种的懵圈,通过一次项目和几次的总结和分享,我对Ajax终于算是有了一定的理解和自己的见解.相信大家见过和度过了很多的关于Ajax的什么前世今生.大刀 ...

  5. javascript ArrayBuffer类型化数组和视图的操作

    个人理解类型化数据就是内存分配区域,不同数据的存储就是视图DataView咯 var buffers = []; var json = {"id":100, "name& ...

  6. 51nod 1281 二分

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1281 隐藏话题 1281 山峰和旗子 题目来源: Codility 基准 ...

  7. Apache CommonLogging + Log4J

    package cn.byref.demo.logging; import org.apache.commons.logging.Log; import org.apache.commons.logg ...

  8. 20 Python 常用模块

    collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...

  9. Solr单机版安装

    感谢 shliuzw 的分享,原文地址http://blog.csdn.net/liuzhenwen/article/details/4060922 感谢 upxiaofeng 的分享,原文地址 ht ...

  10. Django中ORM增删改查

    新建模型 class Author(models.Model): nid = models.AutoField(primary_key=True) name=models.CharField( max ...