`
CshBBrain
  • 浏览: 654720 次
  • 性别: Icon_minigender_1
  • 来自: 成都
博客专栏
B7d9bf34-126e-301f-819e-81f2615b5a2a
开源WebSocket服务...
浏览量:145922
Group-logo
HTML5移动开发
浏览量:138763
社区版块
存档分类
最新评论

Android中IO操作数据总结

 
阅读更多

转自:http://blog.csdn.net/gaohongijj/article/details/8062872

 

[html] view plaincopy
  1. package com.ghg.IO;  
  2.   
  3.   
  4. import java.io.ByteArrayOutputStream;  
  5. import java.io.File;  
  6. import java.io.FileInputStream;  
  7. import java.io.FileNotFoundException;  
  8. import java.io.FileOutputStream;  
  9. import java.io.IOException;  
  10. import java.io.InputStream;  
  11.   
  12.   
  13. import android.app.Activity;  
  14. import android.content.res.AssetManager;  
  15. import android.os.Bundle;  
  16. import android.os.Environment;  
  17. import android.os.FileObserver;  
  18.   
  19.   
  20. public class Day1404_IOActivity extends Activity {  
  21.     /** Called when the activity is first created. */  
  22.     @Override  
  23.     public void onCreate(Bundle savedInstanceState) {  
  24.         super.onCreate(savedInstanceState);  
  25.         setContentView(R.layout.main);  
  26.         /*  
  27.          * 1.创建并返回一个目录,在这个目录下存储应用程序的数据文件  
  28.          * 输出结果为: getFilesDir():/data/data/com.ghg.IO/files  
  29.          */  
  30.            File dirgetFilesDir();  
  31.            System.out.println("getFilesDir():"+dir.toString());  
  32.         /*  
  33.          * 2.创建并返回一个目录,在这个目录下存储应用程序的缓冲文件,当系统资源不足时,系统清除这下面的文件  
  34.          * 输出结果为:dir2=/data/data/com.ghg.IO/cache  
  35.          */  
  36.            File dir2=getCacheDir();  
  37.            System.out.println("dir2="+dir2.toString());  
  38.        /*  
  39.         * 3.创建并返回一个指定名称的目录,在这个目录下来存些东西  
  40.         * 输出结果为:dir3=/data/data/com.ghg.IO/app_abc  
  41.         */  
  42.            File dir3=getDir("abc", MODE_PRIVATE);  
  43.            System.out.println("dir3="+dir3.toString());  
  44.         /*  
  45.          * 4.用于返回数据库中指定名字的文件路径,在内部存储中应该保存的路径;  
  46.          * 输出结果为:dir4=/data/data/com.ghg.IO/databases/stu.db  
  47.          */  
  48.            File dir4=getDatabasePath("stu.db");  
  49.            System.out.println("dir4="+dir4.toString());  
  50.        /*  
  51.         * 5.打开一个输出流对象,通过这个输出流对象可以向abc.txt文件中写入一些数据,  
  52.         * abc.txt文件位于/data/data/com.ghg.IO/files下;  
  53.         */  
  54.            try {  
  55.             FileOutputStream  out=openFileOutput("abc.txt", MODE_PRIVATE);  
  56.             out.write("gao hong guo jiajia".getBytes());  
  57.             out.flush();  
  58.             out.close();  
  59.         } catch (FileNotFoundException e) {  
  60.             // TODO Auto-generated catch block  
  61.             e.printStackTrace();  
  62.         } catch (IOException e) {  
  63.             // TODO Auto-generated catch block  
  64.             e.printStackTrace();  
  65.         }  
  66.            
  67.         /*  
  68.          * 6.获取一个输入流对象,通过这个输入流对对象读取指定文件,这个文件在/data/data/com.ghg.IO/files下;  
  69.          */  
  70.               
  71.           try {  
  72.             FileInputStream is=openFileInput("abc.txt");  
  73.             ByteArrayOutputStream out=new ByteArrayOutputStream();  
  74.             int len=0;  
  75.             byte[] buf=new byte[4];  
  76.             while((len=is.read(buf))>0){  
  77.                 out.write(buf, 0, len);  
  78.                 out.flush();  
  79.             }  
  80.             out.close();  
  81.             is.close();  
  82.             System.out.println(out.toString());  
  83.         } catch (FileNotFoundException e) {  
  84.             // TODO Auto-generated catch block  
  85.             e.printStackTrace();  
  86.         } catch (IOException e) {  
  87.             // TODO Auto-generated catch block  
  88.             e.printStackTrace();  
  89.         }  
  90.            
  91.         /*  
  92.          *7. 获取内部存储的数据目录  
  93.          * 输出结果是:dir7=/data  
  94.          */  
  95.        File dir7=Environment.getDataDirectory();  
  96.        System.out.println("dir7="+dir7.toString());  
  97.         /*  
  98.          * 8.获取内部存储下载缓冲目录,隐藏的目录;  
  99.          * 输出结果为:dir8=/cache  
  100.          */  
  101.            File dir8=Environment.getDownloadCacheDirectory();  
  102.            System.out.println("dir8="+dir8.toString());  
  103.         /*  
  104.          * 9.获取内部下载系统的根目录  
  105.          * 输出结果为:dir9=/system  
  106.          */  
  107.            File dir9Environment.getRootDirectory();  
  108.            System.out.println("dir9="+dir9.toString());  
  109.        /*  
  110.         * 10.创建并返回外部存储文件目录,需要sd卡的的写入数据权限;  
  111.         * 输出结果是:dir10=/mnt/sdcard/Android/data/com.ghg.IO/files/Music  
  112.   
  113.   
  114.         */  
  115.            File dir10=getExternalFilesDir(Environment.DIRECTORY_MUSIC);  
  116.            System.out.println("dir10="+dir10.toString());  
  117.        /*  
  118.         * 11.创建并返回外部存储缓冲目录,需要sd卡的写入数据权限;  
  119.         * 输出结果是:dir11=/mnt/sdcard/Android/data/com.ghg.IO/cache  
  120.         */  
  121.           File dir11getExternalCacheDir();  
  122.           System.out.println("dir11="+dir11.toString());  
  123.           /*  
  124.            * 12.返回sdcard的根目录;  
  125.            * 结果: dir12=/mnt/sdcard  
  126.            */  
  127.           File dir12=Environment.getExternalStorageDirectory();  
  128.           System.out.println("dir12="+dir12.toString());  
  129.           /*  
  130.            * 13.返回sdcard公共存储目录;  
  131.            * 结果:dir13=/mnt/sdcard/Music  
  132.            */  
  133.               File dir13=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);  
  134.               System.out.println("dir13="+dir13.toString());  
  135.           /*  
  136.            * 14.返回sdcard的状态,每次使用sdcard时,都会检查其状态;  
  137.            * 结果:status=mounted  
  138.            */  
  139.               String status=Environment.getExternalStorageState();  
  140.               System.out.println("status="+status);  
  141.             
  142.          /*  
  143.           * 15.对源生资源的访问,在assets下放一个stu.db,读取并写入内部存储数据文件目录下;  
  144.           */  
  145.           File dir1=getDatabasePath("stu.db");  
  146.           if (!dir1.exists()) {  
  147.             if (!dir1.getParentFile().exists()) {  
  148.                 dir1.getParentFile().mkdir();  
  149.             }  
  150.               
  151.             AssetManager manager=getAssets();  
  152.             try {  
  153.                 InputStream in=manager.open("stu.db");  
  154.                 FileOutputStream out=new FileOutputStream(dir1);  
  155.                 int len=0;  
  156.                 byte[] buf=new byte[512];  
  157.                 while ((len=in.read(buf))>0){  
  158.                     out.write(buf, 0, len);  
  159.                     out.flush();  
  160.                 }  
  161.                 in.close();  
  162.                 out.close();  
  163.             } catch (IOException e) {  
  164.                 // TODO Auto-generated catch block  
  165.                 e.printStackTrace();  
  166.             }  
  167.               
  168.         }  
  169.             
  170.     }  
  171. }  
分享到:
评论

相关推荐

    Android文件IO操作

    总结,Android的文件IO操作提供了丰富的API来处理各种数据存储需求。理解这些类和接口的工作原理对于构建高效、可靠的应用程序至关重要。通过合理选择和组合不同的流,开发者可以实现高性能的数据读写操作,同时确保...

    android direct IO.rar

    在Android系统中,直接I/O(Direct IO)是一种优化数据传输效率的技术,它允许应用程序绕过操作系统的缓冲区,直接与磁盘设备进行交互。这种技术对于需要高性能、低延迟的场景,如数据库、文件系统或者媒体处理等,...

    android io 下载图片

    内存缓存避免频繁的IO操作,而磁盘缓存则防止内存不足时丢失数据。 - 对于Volley和Glide,它们都内置了缓存机制,开发者可以根据需要配置缓存大小和策略。 5. **异步处理**: - 图片下载应在后台线程进行,避免...

    彻底明白 Java 语言中的IO系统

    总结而言,Java IO系统提供了一套完整的工具集,不仅能够处理简单的文件读写操作,还能支持复杂的流处理逻辑。开发者可以根据实际需求选择合适的流类型,并利用FilterInputStream和FilterOutputStream的特性增强流的...

    ava4Android 32 Java当中的IO 一

    "ava4Android 32 Java当中的IO 一"这个主题主要探讨了Java在Android开发环境中的IO操作,这对于理解和优化Android应用的性能至关重要。 首先,Java的IO体系基于流(Stream)的概念,分为字节流(Byte Stream)和...

    Android开发简单获取网页数据

    在Android开发中,获取网页数据是一项常见的任务,无论是...总结来说,Android获取网页数据涉及网络请求、异步处理、数据解析等多个环节,根据不同的需求和场景选择合适的工具和方法,同时确保遵循最佳实践和安全规范。

    疯狂android资料:第八章android的数据存储和IO.doc

    在Android开发中,数据存储和IO操作是至关重要的部分,特别是在处理用户数据或者应用程序的状态时。本章将重点讨论如何在Android系统中有效地管理和存储数据,特别是使用SharedPreferences和SQLite数据库。 **...

    Android中的数据存储

    通过`SQLiteOpenHelper`类,我们可以创建、升级和访问数据库,使用SQL语句操作数据。 9.4 Content Provider Content Provider是Android系统中实现跨应用数据共享的主要手段,它定义了一套标准的接口,让一个应用的...

    XML_JSON_IO基本操作

    IO操作是程序与外部世界交互的基础,无论是读取文件、网络数据还是设备状态。在Android开发中,`FileInputStream`和`FileOutputStream`通常用于文件操作,`JsonReader`和`JsonWriter`用于处理JSON数据。理解并熟练...

    android下的串口读写及数据保存

    Android提供了`java.io.File`、`FileOutputStream`和`BufferedWriter`等类来操作文件。可以创建一个新文件,然后将接收到的串口数据写入文件,保存为TXT或其它格式。 5. **错误处理和异常捕获**:在串口通信中,...

    实验二 Android的数据存储操作

    - **实际操作**:在Activity中调用`writeFile()`方法将数据写入SDCard,并通过`DDMS`中的`File Explorer`查看文件是否成功创建。 ##### 4. SQLite数据原理 - **数据库介绍**:SQLite是一种嵌入式数据库解决方案,...

    IO和XML讲解

    常见的IO操作包括: 1. **文件操作**:Android提供了多种方式来读写文件,如`openFileInput()`和`openFileOutput()`方法,用于读取和写入内部存储的文件;`Environment.getExternalStorageDirectory()`则用于访问...

    Java文件IO操作教程之DirectIO的意义

    Java 文件 IO 操作教程之 DirectIO 的意义 ...总结来说,DirectIO 是一种高性能的文件 IO 操作机制,能够提高 Java 应用程序的性能。但是,需要注意使用 DirectIO 的限制和注意事项,以免出现错误。

    Android学习之数据存储.zip源码资源下载

    总结来说,这个"Android学习之数据存储.zip"源码资源提供了全面的数据存储技术实践,包括SQLite、SharedPreferences、文件系统、ContentProvider和网络存储的使用方法。通过深入研究这些示例,开发者不仅可以提升...

    Android_File_IO.zip_android_edittext

    在Android开发中,文件输入输出(File Input/Output, 简称File I/O)是一项基础且重要的技能,尤其在处理本地数据存储时。本文将深入探讨Android环境下如何进行文件操作,以及如何实现EditText的自动补全功能。 一...

    android对文件和sd卡的各种操作

    总结,Android平台为开发者提供了强大且灵活的文件操作能力,包括内部存储、外部存储(SD卡)的管理和数据存储方式如SQLite数据库和Content Provider。在实际开发中,应遵循最佳实践,合理使用权限,并确保数据安全...

    IO类问题排查总结 (1)1

    在Android系统中,IO类问题排查是解决硬件与软件交互故障的关键步骤,特别是涉及到寄存器操作时。本文主要介绍了如何通过读写寄存器来诊断和解决IO问题,主要聚焦于kernel阶段和Uboot阶段的排查方法。 1.1 kernel...

    RxJava2.0在android开发中的实用总结

    本文将详细介绍RxJava 2.0在Android开发中的应用,以及如何通过理解其核心概念和操作符来掌握这一强大工具。 RxJava在Android开发中非常受欢迎,主要是因为它解决了回调地狱(callback hell)的问题,提供了更加简洁...

Global site tag (gtag.js) - Google Analytics