Android中经常用到的方法--SDcard下文件的操作

学习Adnroid中有一段时间了,因为我不是在纯正的JAVA转到Android,我学习JAVA用了2个月,明白它多数的原理的时候,就跳到Android中,所以对Android中的一些方法还是不能很好的理解和运用,所以现在就从头复习总结一次。

   《1》  //打开SDcard下目录的某个指定文件

   // filename为指定的文件名

File file = newFile(Enviroment.getExternalStorageDirectory(),filename);

  


   《2》判断SD卡是否存在并到/sdcard目录下

         返回的String=/sdcard

           

   private String isSdcard(){
 
 
               FilesdcardDir=null;
               booleanisSDExist=Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
               if(isSDExist){
                       //如果存在SDcard 就找到跟目录
                       sdcardDir=Environment.getExternalStorageDirectory();
 
 
                       returnsdcardDir.toString();
               }else{
                       returnnull;
               }
              
        }
       
   

   

 《3》获得某个目录下得所有文件列表

              //打开文件夹 path为一个文件夹的路径 如:/sdcard

      File file = new File(sdpath);

      //获取该文件夹中文件目录列表

                 File[] files = file.listFiles();

              //获得某个文件的文件名

               String filename=file.getName();

              //文件名中最后的一个.在文件名的位置

               int idx =filename.lastIndexOf(".");

             //获得filename的后缀名

                Stringsuffer=filename.substring(idx+1,filename.length);

 

        《4》根据给定的手机路径path 打开这个path中的文件并把它转变成Bitmap格式

              

    

    FileInputStreamfis=new FileInputStream(path);
                       BufferedInputStreambis=new BufferedInputStream(fis);
                       Bitmapbitmap=BitmapFactory.decodeStream(bis);

           《5》  将一个给定的网络地址URL中获取图片的byte[]

                         讲一个InputStream转化为一个byte[]

                        

 

       publicstatic byte[] readInputstream(InputStream inputStream) throws Exception{
                byte[] buffer=new byte[1024];
                  int len;
                  ByteArrayOutputStream BAOS=newByteArrayOutputStream();
                          while((len=inputStream.read(buffer))!=-1){
                                  BAOS.write(buffer,0,len);
                          }
                          inputStream.close();
                 return BAOS.toByteArray();
        }

                             再将一个URL中获取InputStream

                  

    

    publicstatic byte[] getImage(String path) throws Exception {
               //Stringpath1=ImageActivity.edit.getText().toString();
               //URLurl = new URL(path1);
                path="http://s2.lashouimg.com/zt/201204/13/133429592467512700.jpg";
              
               URLurl=new URL(path);
               HttpURLConnectionconn = (HttpURLConnection)url.openConnection();
               conn.setRequestMethod("GET");
               conn.setConnectTimeout(5* 1000);
               InputStreaminStream = conn.getInputStream();//通过输入流获取图片数据
               returnInputstreamtool.readInputstream(inStream);//得到图片的二进制数据
           
        }
                                                                                                                
 

  

     《6》将一个byte[]数据保存到SD卡目录里
            
                                       byte[] data;//data是1.jpg的数据字节
                                                   Stringfilename="1.jpg";
                                                   Filefilelocal=new File(Environment.getExternalStorageDirectory(),filename);
                                                   FileOutputStreamFos=new FileOutputStream(filelocal);
                                                   Fos.write(data);

 《7》关于文件夹读写权限 和保存方法在一下一个方法包中

             http://115.com/file/e78hvqi0#Fileman.rar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值