Read/Write SD Files on Android
来源:互联网 发布:linux卸载mysql数据库 编辑:程序博客网 时间:2024/06/05 07:29
1. Add permission in AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
2. Use this class that i implemented
package smswatcher.cn;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import android.content.Context;import android.os.Environment;import android.util.Log;public class SDFileMan {private String mFolderPath="";private String mFileName="";public SDFileMan(String fileName){File sdCardDir = Environment.getExternalStorageDirectory();mFileName = fileName;try{mFolderPath = sdCardDir.getCanonicalPath() + "/SMSWatcherLogFolder/";Initialize();}catch(Exception e){} }private File Initialize() throws IOException{File folder = new File(mFolderPath);if(!folder.exists()){folder.mkdirs();}File file = new File((GetFileFullPath()));if(!file.exists()){file.createNewFile();}return file;}public boolean Exists(){File file = new File((GetFileFullPath()));return file.exists();}public boolean saveAppend(String content){try{File file = Initialize();FileOutputStream outputStream = new FileOutputStream(file, true);outputStream.write(content.getBytes());outputStream.close();return true;}catch(Exception e){return false;}}public boolean deleteFile(){try{File file = new File((GetFileFullPath()));if(file.exists()){file.delete();}return true;}catch(Exception e){return false;}}public boolean saveAppendLine(String content){byte[] c = new byte[2];c[0]=0x0d;c[1]=0x0a;String c_string = new String(c);return saveAppend(content + c_string);}public String readFile() { try{File file = new File(GetFileFullPath()); //获得输入流 FileInputStream inStream = new FileInputStream(file); //new一个缓冲区 byte[] buffer = new byte[1024]; int len = 0; //使用ByteArrayOutputStream类来处理输出流 ByteArrayOutputStream outStream = new ByteArrayOutputStream(); while( (len = inStream.read(buffer))!= -1) { //写入数据 outStream.write(buffer, 0, len); } //得到文件的二进制数据 byte[] data = outStream.toByteArray(); //关闭流 outStream.close(); inStream.close(); return new String(data);}catch(Exception e){return null;} }public long getFileUpdateTime(){File f = new File(GetFileFullPath());if(f.exists())return f.lastModified();elsereturn -1;}private String GetFileFullPath(){return mFolderPath + mFileName;}}
3. Usage:
SDFileMan mFileMan= new SDFileMan("My.log");boolean flag = mFileMan.saveAppendLine("哈哈啊哈哈");
- Read/Write SD Files on Android
- read and write files
- [OpenCV] Write & Read files
- Write on the Android Read-only file system
- [CodeProject C#]Read/Write Config files
- Read & Write Excel files with Python
- Ways to write & read HDFS files
- Opening Files for Read and Write
- Read and Write files IN PHP
- vimdff cannot read or write temp files
- Android read write json
- Schema on Read vs Schema on Write
- Java libraries to read and write PDF files
- UTL_FILE - read and write file or Random Access of Files
- write to and read from files (读写文件)
- How to read and write JSON files in Java(Gson)
- How to read/write files within a Linux kernel module?
- Write and read opencv3.0 ml files(random forest)
- AJAX异步传输
- 梁山好汉36天罡星的各种死法
- 关于安装360安全桌面后 iis服务不好使的解决方法
- 深拷贝 和 浅拷贝
- printf格式
- Read/Write SD Files on Android
- 关于java.io.IOException: Cannot run program "unzip":
- 二维数组作为参数传递问题
- oracle shared pool
- _variant_t(IDispatch* pSrc, bool fAddRef) 使用一个COM组件的指针构造一个_variant_t类型的对象
- Scheme与Haskell
- Android NDK开发初步
- 端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT
- java笔试题