Java基础课——File类的使用

来源:互联网 发布:手机淘宝怎么给5星好评 编辑:程序博客网 时间:2024/04/29 20:38

Java基础课——File类的使用

项目里需要用到File类,趁此复习了一下File的基本用法:创建、删除、复制、重命名·······
总的来说,File类既可以看做目标,也可以看做是一个文件,具体参考File类官方文档
先上代码:

//create file directory = new File(Environment.getExternalStorageDirectory()                            + File.separator + "sysLibrary" + File.separator +                            UUID.randomUUID().toString().replaceAll("-", ""));                    //新建的File不一定保证地址存在,必须检查一下                    if (!directory.exists()) {                    //mkdirs能在父目录不存在时依然创建,更推荐                        directory.mkdirs();                    }
//文件的复制(文件输入输出流)private File copy(File src, File dir) throws IOException {        File dst = null;        try {            fis = new FileInputStream(src);            //UUID作为唯一标识符            dst = new File(dir, UUID.randomUUID().toString().replaceAll("-", "") + ".kjv");            fosCopy = new FileOutputStream(dst);            int count = 0;            byte[] bytes = new byte[1024];            //使用bytes数组进行读写            while ((count = fis.read(bytes)) != -1) {                fosCopy.write(bytes, 0, count);            }            fis.close();            fosCopy.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        }        return dst;    }
final File temp = copy(video, fileList.get(exits));                    tempVideo = new File(fileList.get(exits), UUID.randomUUID().toString()                            .replaceAll("-", "") + ".mp4");                    if (temp.renameTo(tempVideo)) {                        //这里已经原文件已经改名,则用新的文件名来操作,原来的文件名变成一个纯粹的名称                        videoView.setVideoPath(tempVideo.getAbsolutePath());                        videoView.setMediaController(mediaController);                        mediaController.setAnchorView(videoView);                        videoView.requestFocus();                        videoView.start();//这里在播放出错和播放完成时都选择删除video,注意deleteOnExit()指的是VM 结束时删除,并不是在播放结束时删除,所以delete()会更好                        videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {                            @Override                            public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {                                tempVideo.delete();                                tempVideo.deleteOnExit();                                return false;                            }                        });                        videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {                            @Override                            public void onCompletion(MediaPlayer mediaPlayer) {                                tempVideo.delete();                                tempVideo.deleteOnExit();                            }                        });

英语很重要,英文好的话直接看File文档就能明白了,平时尽量多看英文文档,虽然一开始可能会慢一些,但google的搜索会更加准确,这样反倒会更快一些,等你把基本的单词掌握了,那么查起资料来效率会更高

0 0
原创粉丝点击