package com.example.File;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import org.apache.http.protocol.HTTP;import org.apache.http.util.EncodingUtils;import com.example.sumtest.R;import android.app.Activity;import android.content.res.AssetManager;import android.os.Bundle;import android.os.Environment;import android.util.Xml.Encoding;public class IOUtil extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /** * 1.创建并返回一个目录,此应用程序存储数据的路径 * 输出结果:getFileDir-dir1-/data/data/com.example.sumtest/files */ File dir = getFilesDir(); System.out.println("getFileDir-dir1-" dir.toString()); /** * 2.创建并返回一个目录,存储缓冲文件,当系统资源不足时会清除 * 输出结果:getCacheDir-dir2-/data/data/com.example.sumtest/cache */ File dir2 = getCacheDir(); System.out.println("getCacheDir-dir2-" dir2.toString()); /** * 3.创建并返回一个指定名称的目录,在此目录下存此文件 输出结果: * getDir-dir3-/data/data/com.example.sumtest/app_sumtest */ File dir3 = getDir("sumtest", MODE_PRIVATE); System.out.println("getDir-dir3-" dir3); /** * 4.用于返回数据库中指定名称的文件路径,在内部存储中应保存的路径 * 输出结果:getDatabasePath-dir4-/data/data/ * com.example.sumtest/databases/stu.db */ File dir4 = getDatabasePath("stu.db"); System.out.println("getDatabasePath-dir4-" dir4); /** * 5.打开一个输出流对象,通过这个对象 可以向abc.txt中写入数据 abc.txt位于 */ try { FileOutputStream fos = openFileOutput("abc.txt", MODE_PRIVATE); fos.write("哈哈哈--".getBytes()); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } /** * 6.获得一个输入流对象,通过这个输入流对象读取指定文件, * 这个文件在/data/data/com.example.sumtest/files下 输出结果:abc.txt-dir6哈哈哈-- */ try { FileInputStream fis = openFileInput("abc.txt"); byte[] bs = new byte[fis.available()]; int len = fis.read(bs); String str = new String(bs, 0, len); System.out.println("abc.txt-dir6" str); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } /** * 7.获得内部存储数据的目录 输出结果: dir7-/data */ File dir7 = Environment.getDataDirectory(); System.out.println("dir7-" dir7); /** * 8.获取内部存储下载缓冲目录,隐藏的目录 输出结果: dir8-/cache */ File dir8 = Environment.getDownloadCacheDirectory(); System.out.println("dir8-" dir8); /** * 9.获得内部下载系统的根目录 输出结果: dir9-/system */ File dir9 = Environment.getRootDirectory(); System.out.println("dir9-" dir9); /** * .创建并返回外部存储文件目录 , 需SD卡的写入权限 输出结果: * dir-/mnt/sdcard/Android/data/com.example.sumtest/files/Music */ File dir = getExternalFilesDir(Environment.DIRECTORY_MUSIC); System.out.println("dir-" dir); /** * .创建并返回外部缓冲目录, 需SD卡写入权限 输出结果: * dir-/mnt/sdcard/Android/data/com.example.sumtest/cache */ File dir = getExternalCacheDir(); System.out.println("dir-" dir); /** * .返回SD卡的根目录 输出结果: dir-/mnt/sdcard */ File dir = Environment.getExternalStorageDirectory(); System.out.println("dir-" dir); /** * .返回SD卡的公共存储目录 输出结果: dir-/mnt/sdcard/Music */ File dir = Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); System.out.println("dir-" dir); /** * .返回SD的状态,每次使用SD卡时 ,都会检查其状态 输出结果: SdStatus-mounted */ String SdStatus = Environment.getExternalStorageState(); System.out.println("SdStatus-" SdStatus); /** * .对源生资源文件的访问,在assets下放test.txt,读取并写入内部存储数据文件目录下 */ File dir = getDatabasePath("test.txt"); if (!dir.exists()) { if (!dir.getParentFile().exists()) { dir.getParentFile().mkdir(); } AssetManager manager = getAssets(); try { InputStream is = manager.open("test.txt"); FileOutputStream fos = new FileOutputStream(dir); byte[] bs = new byte[]; int len = 0; while ((len = is.read(bs)) > 0) { fos.write(bs, 0, len); fos.flush(); } is.close(); fos.close(); } catch (IOException e) { e.printStackTrace(); } } /** * .对资源文件的访问,在res/assets文件下 test.txt,读取文件中内容 * 输出结果: assets-assetsTxt */ try { InputStream is = getResources().getAssets().open("test.txt"); int len = is.available(); byte[] bs = new byte[len]; is.read(bs); String str = EncodingUtils.getString(bs, HTTP.UTF_8); is.close(); System.out.println("assets-" str); } catch (IOException e1) { e1.printStackTrace(); } /** * .对资源文件的访问,在res/raw文件下 test.txt,读取文件中内容 * 输出结果: raw-rawTxt */ InputStream israw = getResources().openRawResource(R.raw.test); try { int len = israw.available(); byte[] bs = new byte[len]; israw.read(bs);//此句漏掉,读取出现乱码,原因不清楚求大神指点 String str = EncodingUtils.getString(bs, HTTP.UTF_8); israw.close(); System.out.println("raw-" str); } catch (IOException e) { e.printStackTrace(); } }}
推荐整理分享Android 中IO 操作数据总结(android aidl in out),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:android ioc,安卓io:read/write on closed pipe,安卓io:read/write on closed pipe,android ioctl,android的aidl,android ioctl,android ioc,android ioctl,内容如对您有帮助,希望把文章链接给更多的朋友!
Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵 我们现在准备好在代码中添加透视投影了。Android的Matrix类为它准备了两个方法------frustumM()和perspectiveM()。不幸的是,frustumM()的个缺陷,它会影响某些类
Android GBK与UTF-8 1.远程设备编码格式是GBK,因此Stringtest="你好";send(test.getBytes("GBK"));2.从远程设备中接收数据Stringstr=newString(receive().getBytes("UTF-8"),"UTF-8");tv.setText(str);用此
Android之TextView的样式类Span的使用详解 Android中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现,我们可以通过Android提供的Spannable