javafile删除文件

java file类delete()方法无法删除文件

通过fileTxt[ j ] ,看你是循环删除,你判断了文件是否存在,但是没有判断是否是文件夹、文件夹里是否还有文件

因为文件夹里有文件时,执行delete()是不成功的

此外,你在删除的文件,有可能正被其他人或程序打开,这个时候删除也不会成功

参考Java API的java.io.File类:

delete

public boolean delete()

删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则此目录必须为空才能删除。

java文件删除

java删除文件或文件夹的具体步骤:

1、验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)

// 验证字符串是否为正确路径名的正则表达式

private static String matches = “[A-Za-z]:\\\\[^:?\”*]*”;

// 通过 sPath.matches(matches) 方法的返回值判断是否正确

// sPath 为路径字符串

2、通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件,包括文件夹下的所有文件

/**

* 根据路径删除指定的目录或文件,无论存在与否

*@param sPath 要删除的目录或文件

*@return 删除成功返回 true,否则返回 false。

*/

public boolean DeleteFolder(String sPath) {

flag = false;

file = new File(sPath);

// 判断目录或文件是否存在

if (!file.exists()) { // 不存在返回 false

return flag;

} else {

// 判断是否为文件

if (file.isFile()) { // 为文件时调用删除文件方法

return deleteFile(sPath);

} else { // 为目录时调用删除目录方法

return deleteDirectory(sPath);

}

}

}

3、实现删除文件的方法

/**

* 删除单个文件

* @param sPath 被删除文件的文件名

* @return 单个文件删除成功返回true,否则返回false

*/

public boolean deleteFile(String sPath) {

flag = false;

file = new File(sPath);

// 路径为文件且不为空则进行删除

if (file.isFile() file.exists()) {

file.delete();

flag = true;

}

return flag;

}

4、实现删除文件夹的方法

/**

* 删除目录(文件夹)以及目录下的文件

* @param sPath 被删除目录的文件路径

* @return 目录删除成功返回true,否则返回false

*/

public boolean deleteDirectory(String sPath) {

//如果sPath不以文件分隔符结尾,自动添加文件分隔符

if (!sPath.endsWith(File.separator)) {

sPath = sPath + File.separator;

}

File dirFile = new File(sPath);

//如果dir对应的文件不存在,或者不是一个目录,则退出

if (!dirFile.exists() || !dirFile.isDirectory()) {

return false;

}

flag = true;

//删除文件夹下的所有文件(包括子目录)

File[] files = dirFile.listFiles();

for (int i = 0; i files.length; i++) {

//删除子文件

if (files[i].isFile()) {

flag = deleteFile(files[i].getAbsolutePath());

if (!flag) break;

} //删除子目录

else {

flag = deleteDirectory(files[i].getAbsolutePath());

if (!flag) break;

}

}

if (!flag) return false;

//删除当前目录

if (dirFile.delete()) {

return true;

} else {

return false;

}

}

5、main() 方法

public static void main(String[] args) {

HandleFileClass hfc = new HandleFileClass();

String path = “D:\\test\\folder1\\exam1”;

boolean result = hfc.CreateFolder(path);

System.out.println(result);

path = “D:\\test\\folder2”;

result = hfc.DeleteFolder(path);

System.out.println(result);

}

JAVA File类 删除文件

1、创建File对象File(String pathname):pathname录入时录入的路径字符串需要注意/和\的运用,但是由于java开发出的程序需要运用到不同的系统上,因此,一般以File.separator来代替。

2、创建File对象File(File parent,String child):此为创建文件对象的另外一种方式,parent为已创建的对象,这种情况,parent一般为文件夹的路径,child为文件的名称。

3、判断File对象是否是一个文件:isFile()返回值true为文件,false为非文件。如下程序中,由于file1对象为文件夹,非文件,返回为false;file2对象为文件,返回true。

4、文件的内容长度(占用字节):length()当前File对象所表示的文件所占用的字节量。在testFile1.txt中事先录入部分数据,file2指向的File对象,内容长度为8。

5、判断文件是否存在,在硬盘创建文件前,一般需要判断硬盘中文件是否存在,如果不存在才创建文件,这样可以避免文件重复创建。

6、文件创建:createNewFile()当File对象调用文件创建方法后,硬盘中文件才会被创建。

javafile删除文件

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月28日 10:57:48
下一篇 2024年3月28日 11:08:06

相关推荐

  • linux给文件写权限,linux怎么给文件权限

    linux宝塔写入权限不足 1、可以使用chmod命令修改权限。语法:chmod [-cfvR] [–help] [–version] mode file…说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 2、通过更改文件权限可以使用c…

    2024年5月23日
    5100
  • 包含c语言对txt文件命名的词条

    如何在C语言编程里面修改源文件名字 如果你是在WINDOWS的话,简单了,随便用个编辑器,比如记事本,然后写c源程序,保存到你想要保存的位置。如果你在DOS下,可以用edit,写好以后,按alt键,选择文件菜单,然后保存。 用open打开文件,注意操作模式使用“修改”或者“添加” 用write或者fprintf向文件中写入你的内容。 用close关闭文件。 …

    2024年5月23日
    4900
  • c语言多文件调用,c语言多文件操作

    c语言一个结构体如何在多个源文件里面调用? 在这种方法中,可以先将多个源文件分别编译成目标文件,然后再将它们链接成一个可执行文件。 在头文件里定义结构,例如:typedef struct { int a, b;} S;S s_instance;在其他文件里引用就可以。 创建程序入口点main函数,在main函数中条用其它函数。达到同时运行的母的。如果不这样,…

    2024年5月23日
    4200
  • linux.o生成,linux 生成core文件

    linux下多个.o文件如何链接生成可执行程序 你好!很简单,使用-o选项就可以了。如果有a.o,b.o,c.o,d.o4个.o文件,则使用以下命令:gcc -o (生成的目标名称)test a.o b.o c.o d.o 希望对你有所帮助,望采纳。 连接成可执行文件了:gcc hello.c -o h 这时,你的当前目录下就多出了一个叫 h 的文件,它就是…

    2024年5月23日
    4200
  • 为linux命令做链接gcc,linux cp 链接文件

    linux系统中gcc的命令怎么用? 1、linux系统常用操作命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录的内容及其内容属性信息。cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。cp:全拼copy,其功能为复制文件或目录。 2、linux系统常用操作命令如下:ls:全拼list,功能是列出目录…

    2024年5月23日
    4200
  • java将文件转换为二进制,java将文件转成二进制

    Java中如何把图片转换成二进制流 1、所以定义的数组长度为10240,也就是10kb吧,当然你也可以定义小点,然後分次读。反正二进制都在这个数组里面,最後两句我只是举了个例子教你怎麼看这个二进制,第一个是现实二进制对应的整数,第二个是显示二进制了。 2、//执行 g.dispose(); //输出图片结果 saveImage(image); }我能够输出绘…

    2024年5月23日
    4100
  • java读取文件内容乱码,java读取文件编码格式

    java中filewriter中文乱码怎么解决? 1、如果你期望写到文件中的汉字是 GBK编码,可以写文件时,将字符串准换成 GBK编码的byte[]。网页编码和输出流编码一致。 2、读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。 3、只是个别文件出现了…

    2024年5月23日
    4700
  • java写property文件,java写入properties

    javaweb怎样在classpath建立一个property配置文件 1、一般在scr下面新建一个属性文件*.properties,如a.properties 然后在Java程序中读取或操作这个属性文件。 2、在我的电脑界面,鼠标右键点击“此电脑”。在弹出的列表中,点击最下方的“属性”。在跳转到的界面中,点击“高级系统设置”。在弹出的系统属性界面,点击右下…

    2024年5月23日
    4600
  • excel文件多人同时编辑,excel文件怎么多人编辑

    多人编辑同一个excel怎么弄 1、点击审阅 打开Excel表格,点击界面上方的审阅。共享工作簿 点击界面右上方的共享工作簿。勾选同时编辑 勾选允许多用户同时编辑,点击下面的确定。 2、打开需要进行协同编辑的Excel表格,在菜单栏中找到【特色应用】选项。单击【特色应用】项下的【在线协作】功能。弹出一个上传文档的窗口,需等待文件上传成功后进行下一步操作。 3…

    2024年5月23日
    3800
  • linux上传文件覆盖,linux文件覆盖命令

    linux怎样将文件覆盖到另一个文件 1、cp -f 强行复制文件或目录,不论目标文件或目录是否已存在。 2、linux系统使用cp命令即可将一个文件夹里面的文件复制到另外一个文件夹里面。这个命令相当于dos下面的copy命令,具体用法是:cp_r源文件目的文件,其中参数r是指连同源文件中的子目录一同拷贝。 3、Linux cp命令主要用于复制文件或目录,英…

    2024年5月23日
    3900

发表回复

登录后才能评论



关注微信