• Android扫描文件


    扫描文件及文件夹

    复制代码
    package com.bwie.demo;
    
    import java.io.File;
    import java.io.FileFilter;
    import java.util.ArrayList;
    import java.util.List;
    
    public class Demo {
    
        private static ArrayList<String> list1;
        private static ArrayList<String> list2;
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            list1 = new ArrayList<String>();
            list2 = new ArrayList<String>();
            File file = new File("E:\安装包");
            init(file);
            
            for (String string : list1) {
                
                System.out.println("文件:"+string);
            }
            for (String string : list2) {
                System.out.println("文件夹:"+string);
            }
             
            System.out.println("文件个数:"+list1.size()+"   文件夹个数:"+list2.size());
        }
    
        private static void init(File file) {
            if (file.exists()) {
    
                File[] filepath = file.listFiles(new FileFilter() {
    
                    public boolean accept(File file) {
                        // TODO Auto-generated method stub
    
                        if (file.isDirectory()) {
                            list2.add(file.getName());
                            return true;
                        } else {
                            // 文件
                            list1.add(file.getName());
                            return true;
                        }
                    }
                });
                if (filepath != null) {
                    for (File file2 : filepath) {
    
                        if (file2.isFile()) {
                            list1.add(file2.getName());
                        } else {
                            init(file2);
                        }
                    }
                }
            } else {
                System.out.println("没有此盘");
            }
        }
    
    }
    复制代码

    扫描图片

    复制代码
    import java.io.File;
    import java.io.FileFilter;
    import java.util.ArrayList;
    import java.util.List;
    
    public class du {
    private static List<File> list;
    
    public static void main(String[] args) {
        File file=new File("c:\");
        setData(file);;
    }
    
    private static void setData(File file) {
        list = new ArrayList<File>();
        File[] fs=file.listFiles(new FileFilter() {
            
            public boolean accept(File pathname) {
                // TODO Auto-generated method stub
            if(pathname.isDirectory()){
            return true;    
            }else{
                String name = pathname.getName();
                return (name.endsWith(".png")||name.endsWith(".jpg")||name.endsWith(".bmp"));
            }
                
            }
        });
        if(fs!=null){
            for(File f:fs){
                if(f.isFile()){
                    list.add(f);
                    System.out.println(list.toString());
                }else{
                    setData(f);
                }
            }
        }
        
    }
    }
    复制代码

     扫描视频歌曲

    复制代码
    import java.io.File;
    import java.io.FileFilter;
    import java.io.IOException;
    import java.util.ArrayList;
    
    import com.bwie.adapter.MyAdapter;
    
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.os.Environment;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.ListView;
    import android.widget.MediaController;
    import android.widget.VideoView;
    
    public class MainActivity extends Activity {
    
        private static ArrayList<File> list;
        private ListView lv;
        private VideoView vv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            /*// 找到该布局文件下的控件
            lv = (ListView) findViewById(R.id.lv);*/
            
            //找到该布局文件下的播放视频的控件
            vv = (VideoView) findViewById(R.id.vv);
    
            // 创建file类
            String path = Environment.getExternalStorageDirectory().getPath();
            /* File file = new File(path+"/images"); */  //这是扫描图片的路径
            /*File file = new File(path);*/  //这是扫描歌曲的路径
            File file = new File(path);//这是扫描视屏的路径
    
            // 创建集合对象
            list = new ArrayList<File>();
    
            // 调用方法进行扫描并过滤该文件夹,并收集扫描出来的图片文件
            saoMiao(file);
    
            // 打印扫描出来的图片文件
            for (File ff : list) {
                System.out.println(ff.getName());
            }
    
            /*
             * //为listview设置适配器 lv.setAdapter(new MyAdapter(MainActivity.this,
             * list));
             */
            
            
            /**
             *  播放扫描出来的歌曲
             */
        /*    MediaPlayer player = new MediaPlayer();
            try {
                // 获取路径
                System.out.println(list.get(0).getPath() + "===========");
                player.setDataSource(list.get(1).getPath());// 直接获取文件的路径
                // 准备好硬件
                player.prepare();
                // 开始播放
                player.start();
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SecurityException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }*/
            
            
            /**
             * 播放视频
             */
            //设置播放视频的路径
            vv.setVideoPath(list.get(0).getPath());
            //为videoview设置控制器
            MediaController controller = new MediaController(MainActivity.this);
            vv.setMediaController(controller);
            //开始播放视频
            vv.start();
         
    
        }
    
        private static void saoMiao(File file) {
    
            // 列出该文件夹下的所有文件及文件夹
            File[] fs = file.listFiles(new FileFilter() {
    
                public boolean accept(File pathname) {
    
                    if (pathname.isDirectory())// 如果是文件夹的话就直接收集这个文件夹
                    {
                        return true;
                    } else {
                        /*
                         * return pathname.getName().endsWith(".png") ||
                         * pathname.getName().endsWith(".jpg") ||
                         * pathname.getName().endsWith(".bmp");
                         */
                        /* return pathname.getName().endsWith(".mp3"); */
    
                        return pathname.getName().endsWith(".3gp");
    
                    }
    
                }
            });
    
            // 将集合进行遍历
            if (fs != null) {
                for (File f : fs) {
                    if (f.isFile())// 若是文件就直接收藏起来
                    {
                        list.add(f);
                    } else {// 若是文件夹的话利用递归的方法进行再次扫描文件夹
    
                        saoMiao(f);
                    }
    
                }
            }
    
        }
    
    }
  • 相关阅读:
    依赖注入方法
    依赖注入
    用spring来控制反转(ioc)
    ioc控制反转笔记
    写模块的流程例子
    淘淘商城笔记1
    二叉树的前序中序后序遍历
    专题2 二叉树(go)
    专题1:二分查找
    python自动化开发-[第三天]-编码,函数,文件操作
  • 原文地址:https://www.cnblogs.com/wbp0818/p/5320266.html
Copyright © 2020-2023  润新知