Android中如何读入文件夹中的图片文件并得到该图片的名称

补充内容,我按照下面的方式读取了一张图片,能不能得到这个图片的名字?比如图片的名字为“XD0001.jpg”,如何得到“XD0001"这个字符串?

我现在有一个程序,是从相册选择一张图片后裁剪,保存然后才能进入后面的处理,我现在想把裁剪功能去掉,并想实现读取文件夹中的所有图片,并能一张张的进行处理,我该怎么改?
现在的代码是:
这个是onActivityResult需要改的部分代码

 protected void onActivityResult(int requestCode, int resultCode, Intent intent)
  {

     super.onActivityResult(requestCode, resultCode, intent);



     switch(requestCode)
     {

      case PHOTO_GET_PHOTO_DATA :
          try
          {
              System.out.println("从相册获得图片");
            ContentResolver localContentResolver = getContentResolver();
            Uri originalUri  = intent.getData();

            this.mContent = readStream(localContentResolver.openInputStream(Uri.parse(originalUri.toString())));
            if (getPicFromBytes(this.mContent, null) == null)
              break;

            System.out.println("开始裁剪2");
            startPhotoZoom(originalUri);//开始图片剪裁

            System.out.println("裁剪结束2");

            //获取文件的绝对路径         
            String originalUri1  = originalUri.getSchemeSpecificPart().substring(2);
            System.out.println("originalUri1="+originalUri1);
            if(originalUri1 != null)
            {

                this.myApp.setState(originalUri1);
            }
            else
            {
                String[] proj = {MediaStore.Images.Media.DATA};
                @SuppressWarnings("deprecation")
                Cursor cursor  = this.managedQuery(originalUri, proj, null, null, null);
                if(cursor==null)
                    return;
                int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                this.myApp.setState(cursor.getString(column_index));
            }
            //System.out.println("fileName:" + this.fileName);
          }
          catch (Exception localException)
          {
            System.out.println("E:" + localException.getMessage());
          }
          break;
      case PHOTO_PICKED_WITH_DATA :


          if(intent==null)
              break;
          Bundle extras = intent.getExtras(); 
          if(extras==null)
              break;
          this.photo =  extras.getParcelable("data");
          if(photo==null)
              break;
              this.showImage.setImageBitmap(this.photo);

            this.showImage.setVisibility(0);
            this.phFlag = true;

            this.result.setText("");
            this.resultStr = "";


下面是裁剪函数;

 public void startPhotoZoom(Uri paramUri)
  {
    Intent localIntent = new Intent("com.android.camera.action.CROP");
    localIntent.setDataAndType(paramUri, "image/*");
    localIntent.putExtra("crop", "true");
    localIntent.putExtra("aspectX", 4);
    localIntent.putExtra("aspectY", 3);
    localIntent.putExtra("outputX", WIDTH);
    localIntent.putExtra("outputY", HEIGHT);
    localIntent.putExtra("return-data", true);


   startActivityForResult(localIntent, PHOTO_PICKED_WITH_DATA);
  }

我的主要问题是去掉裁剪函数,最后有个startActivityForResult中intent的传递用什么代替,还有就是怎么读取文件夹里所有的图片,然后可以一张一张的处理。

2个回答

楼主是想读一个文件夹里的全部 图片的文件名?
那可以在代码里用 adb ls 命令啊,然后把输出的 全部检查后缀是 .jpg 或.png 或.git 之类的,是就加到你的字符串数组里

要处理,就跟进 你的文件夹路径 + 图片名 一张张获取,再处理

这样可以吗

Linda_Lindaaaa
Linda_Lindaaaa 你说的这个方法没见过。不知道怎么用。
5 年多之前 回复
 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
startActivityForResult(intent, RESULT);  

http://blog.csdn.net/jackyguo1992/article/details/26729107

Linda_Lindaaaa
Linda_Lindaaaa 这个好像也是选择单张图片,不能选择全部图片。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问