Android(安卓)Io 整理
16lz
2021-12-04
[html] view plain copy
- packagecom.ghg.IO;
- importjava.io.ByteArrayOutputStream;
- importjava.io.File;
- importjava.io.FileInputStream;
- importjava.io.FileNotFoundException;
- importjava.io.FileOutputStream;
- importjava.io.IOException;
- importjava.io.InputStream;
- importandroid.app.Activity;
- importandroid.content.res.AssetManager;
- importandroid.os.Bundle;
- importandroid.os.Environment;
- importandroid.os.FileObserver;
- publicclassDay1404_IOActivityextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- /*
- *1.创建并返回一个目录,在这个目录下存储应用程序的数据文件
- *输出结果为:getFilesDir():/data/data/com.ghg.IO/files
- */
- Filedir=getFilesDir();
- System.out.println("getFilesDir():"+dir.toString());
- /*
- *2.创建并返回一个目录,在这个目录下存储应用程序的缓冲文件,当系统资源不足时,系统清除这下面的文件
- *输出结果为:dir2=/data/data/com.ghg.IO/cache
- */
- Filedir2=getCacheDir();
- System.out.println("dir2="+dir2.toString());
- /*
- *3.创建并返回一个指定名称的目录,在这个目录下来存些东西
- *输出结果为:dir3=/data/data/com.ghg.IO/app_abc
- */
- Filedir3=getDir("abc",MODE_PRIVATE);
- System.out.println("dir3="+dir3.toString());
- /*
- *4.用于返回数据库中指定名字的文件路径,在内部存储中应该保存的路径;
- *输出结果为:dir4=/data/data/com.ghg.IO/databases/stu.db
- */
- Filedir4=getDatabasePath("stu.db");
- System.out.println("dir4="+dir4.toString());
- /*
- *5.打开一个输出流对象,通过这个输出流对象可以向abc.txt文件中写入一些数据,
- *abc.txt文件位于/data/data/com.ghg.IO/files下;
- */
- try{
- FileOutputStreamout=openFileOutput("abc.txt",MODE_PRIVATE);
- out.write("gaohongguojiajia".getBytes());
- out.flush();
- out.close();
- }catch(FileNotFoundExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }catch(IOExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- /*
- *6.获取一个输入流对象,通过这个输入流对对象读取指定文件,这个文件在/data/data/com.ghg.IO/files下;
- */
- try{
- FileInputStreamis=openFileInput("abc.txt");
- ByteArrayOutputStreamout=newByteArrayOutputStream();
- intlen=0;
- byte[]buf=newbyte[4];
- while((len=is.read(buf))>0){
- out.write(buf,0,len);
- out.flush();
- }
- out.close();
- is.close();
- System.out.println(out.toString());
- }catch(FileNotFoundExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }catch(IOExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- /*
- *7.获取内部存储的数据目录
- *输出结果是:dir7=/data
- */
- Filedir7=Environment.getDataDirectory();
- System.out.println("dir7="+dir7.toString());
- /*
- *8.获取内部存储下载缓冲目录,隐藏的目录;
- *输出结果为:dir8=/cache
- */
- Filedir8=Environment.getDownloadCacheDirectory();
- System.out.println("dir8="+dir8.toString());
- /*
- *9.获取内部下载系统的根目录
- *输出结果为:dir9=/system
- */
- Filedir9=Environment.getRootDirectory();
- System.out.println("dir9="+dir9.toString());
- /*
- *10.创建并返回外部存储文件目录,需要sd卡的的写入数据权限;
- *输出结果是:dir10=/mnt/sdcard/Android/data/com.ghg.IO/files/Music
- */
- Filedir10=getExternalFilesDir(Environment.DIRECTORY_MUSIC);
- System.out.println("dir10="+dir10.toString());
- /*
- *11.创建并返回外部存储缓冲目录,需要sd卡的写入数据权限;
- *输出结果是:dir11=/mnt/sdcard/Android/data/com.ghg.IO/cache
- */
- Filedir11=getExternalCacheDir();
- System.out.println("dir11="+dir11.toString());
- /*
- *12.返回sdcard的根目录;
- *结果:dir12=/mnt/sdcard
- */
- Filedir12=Environment.getExternalStorageDirectory();
- System.out.println("dir12="+dir12.toString());
- /*
- *13.返回sdcard公共存储目录;
- *结果:dir13=/mnt/sdcard/Music
- */
- Filedir13=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
- System.out.println("dir13="+dir13.toString());
- /*
- *14.返回sdcard的状态,每次使用sdcard时,都会检查其状态;
- *结果:status=mounted
- */
- Stringstatus=Environment.getExternalStorageState();
- System.out.println("status="+status);
- /*
- *15.对源生资源的访问,在assets下放一个stu.db,读取并写入内部存储数据文件目录下;
- */
- Filedir1=getDatabasePath("stu.db");
- if(!dir1.exists()){
- if(!dir1.getParentFile().exists()){
- dir1.getParentFile().mkdir();
- }
- AssetManagermanager=getAssets();
- try{
- InputStreamin=manager.open("stu.db");
- FileOutputStreamout=newFileOutputStream(dir1);
- intlen=0;
- byte[]buf=newbyte[512];
- while((len=in.read(buf))>0){
- out.write(buf,0,len);
- out.flush();
- }
- in.close();
- out.close();
- }catch(IOExceptione){
- //TODOAuto-generatedcatchblock
- e.printStackTrace();
- }
- }
- }
- }
更多相关文章
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
- Android写文件到SDCard的简单代码
- Android和PC端通过局域网文件同步
- Android手电筒小程序实现代码
- android ListView 的使用
- Android之Audio常用属性变量
- android中IO操作数据总结
- android 记得用mkdirs不要用mkdir