java中如何在一个数组中删除里面的元素?
以下实例演示了如何使用 remove () 方法来删除数组元素:
Main.java 文件import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<String> objArray = new ArrayList<String>(); objArray.clear()
; objArray.add(0,"第 0 个元素")
; objArray.add(1,"第 1 个元素")
; objArray.add(2,"第 2 个元素")
; System.out.println("数组删除元素前:"+objArray)
; objArray.remove(1)
; objArray.remove("第 0 个元素")
; System.out.println("数组删除元素后:"+objArray); }}
PHP删除目录下所有的文件,有哪些好的编程实践?
引言
作为服务器端编程语言,PHP当然具备了操作系统文件的能力。今天我们来说一下使用PHP如何删除某个目录下的所有文件。
今天我们从最简单的形式讨论,但目录下的操作。
学习时间
我们说PHP是一个函数库毫不为过,因为针对各种功能,它都封装了许多内置的函数,拿来用就可以了。而文件目录操作函数,我们推荐使用glob。
该函数的参数形式:
array glob( string $pattern[, int $flags = 0] )
用于寻找与模式匹配的文件路径。使用起来代码应该是这样的:
首先使用 glob 模式匹配出目录下所有文件,这会返回一个数组。然后遍历,再使用 is_file 函数判定是否文件类型,如果是则调用 unlink 函数删除。
逻辑大概就是这样子。在Linux操作系统下,上面的模式扫描不出来隐藏文件。如果要把隐藏文件扫描出来,需要修改一下匹配模式如下:
遍历和文件类型判断逻辑相同。
极简主义
我们知道解决问题,不会是一种单一的办法,我们总是有很多方式实现同样的需求。那么对于上述的代码,对于强迫症同学来说,还是写的有些拖沓了,要是一行能搞定就好了。
真的可以一样搞定。我们借助于PHP的内置函数遍历操作函数 array_map 可以轻松实现。代码如下:
是不是少了很多手动造轮子的粗糙感。但是,这个函数缺少了 is_file 判断,是有一定风险的。特别是回调使用 unlink 这样的删除操作,尤其需要注意。
把 glob 函数的返回值使用 (array) 进行强制类型转换,是为了防止出现返回 false,不能直接传递到 array_filter 进行过滤的缘故。
面向对象
写惯了JAVA的同学应该对类库的方法操作严重依赖不能自拔,PHP也是有配套OOP方法的,只是我们用的太少,没有系统地学习罢了。下面提贴出来一个 OOP 风格的代码来解决这个问题。
不做解释,因为用的太少。为什么?因为看看 $di $ri 对象实例的操作,还有最后 rmdir unlink 的函数操作,你终究明白,要做到真正的面向对象,还差得远呢!
共同努力吧~~
写在最后
很令人伤心,本想提供一个OOP的实现,还是被迫用了函数方法,我们已经尽力了。整体而言,函数操作和函数操作,更适合PHP流程处理。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
装了Java后为什么卸载不了,怎样才可以卸载然后重装?
1、安装JDK的时候尽量将它装到C盘下。
2、要卸载JDK,先用控制面板里的添加/删除程序这个工具。
3、卸载JDK前,先将环境变量中的CLASSPATH删掉,将PATH中与JAVA有关的部分也给去掉。
可以看到,它是让我们去Windows的官网去下载一个所谓的Windows安装清理工具,说这个工具可以将注册表中的信息一起清掉,既然SUN公司都这么说了,那我们只好照办了,下载这个工具之后,就使用它卸载掉JAVA,这个时候你就会发现自己的新JDK可以安装了 。
C语言和Java对文件的操作有什么用处吗?
感谢邀请!
Java是一门面向对象的语言,C语言是一门面向过程的语言,
Java是在任何操作系统方面都是一样,也就是一次编译,到处运行;
C语言就不一样,依赖操作系统。
二者都是可以对文件操作的,用处是有的,比如文件的写入、写出等。