对于电脑中文件的一些处理
Posted 黄志平
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于电脑中文件的一些处理相关的知识,希望对你有一定的参考价值。
1.创建一个类,定义方法实现以下功能:
a.查找文件功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
若格式错误则提示“无效路径”
b.查找目录功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名 称若格式错误则提示“无效路径”
c.删除文件功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
并提示“是否要删除以下的文件:”
若客户输入"Y"则删除,若输入"N"则不执行任何操作
若格式错误则提示“无效路径”
d.删除目录功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹 名称 并提示“是否要删除以下的文件夹(注意:文件夹下面的所有内容将 同时被删除):” 若客户输入"Y"则删除,若输入"N"则不执行任何操作
若格式错误则提示“无效路径”
代码如下:
package com;
import java.io.File;
/**
1.创建一个类,定义方法实现以下功能:
a.查找文件功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
若格式错误则提示“无效路径”
*
*/
public class FileTest {
//查询该路径下的所有文件
public void CheckFile(String path) {
File file = new File(path);
if (file.exists()) {
File[] temp = file.listFiles();
int t = 0;
for (int i = 0; i < temp.length; i++) {
t++;
if (temp[i].isFile()) { //判断给定文件名是否为正常的文件
System.out.println(temp[i].getName() + " 文件");
} else {
}
}
} else {
System.out.println("路径无效");
}
}
//查询该路径下的所有文件夹
/**
b.查找目录功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名称
若格式错误则提示“无效路径”
* @param path
*/
public void CheckDir(String path) {
File file = new File(path);
if (file.exists()) {
File[] temp = file.listFiles();
int t = 0;
for (int i = 0; i < temp.length; i++) {
t++;
if (temp[i].isDirectory()) { //判断给定目录是否为正常的目录,如果path表示的是一个目录则返回true。
System.out.println(temp[i].getName() + " 文件夹");
} else {
}
}
} else {
System.out.println("路径无效");
}
}
/**
c.删除文件功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件名称
并提示“是否要删除以下的文件:”
若客户输入"Y"则删除,若输入"N"则不执行任何操作
若格式错误则提示“无效路径”
* @param path
*/
public void DleFile(String path) {
File file = new File(path);
if (file.exists()) {
File[] temp = file.listFiles();
int t = 0;
for (int i = 0; i < temp.length; i++) {
t++;
if (temp[i].isFile()) {
temp[i].delete(); //删除给定目录文件
} else {
}
}
} else {
System.out.println("路径无效");
}
}
/**
d.删除目录功能:
客户任意输入一个路径,若路径格式正确则输出该路径下的所有文件夹名称
并提示“是否要删除以下的文件夹(注意:文件夹下面的所有内容将同时被删除):”
若客户输入"Y"则删除,若输入"N"则不执行任何操作
若格式错误则提示“无效路径”
* @param dir
* @return
*/
public boolean DleDir( File dir) {
if (dir.isDirectory()) {
String[] children = dir.list();//递归删除目录中的子目录下
for (int i=0; i<children.length; i++) {
boolean flag = DleDir(new File(dir, children[i]));
if (!flag) {
return false;
}
}
}
// 目录此时为空,可以删除
return dir.delete();
}
}
主程序如下:
package com;
import java.io.File;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
FileTest f= new FileTest();
boolean flag=true;
while(flag){
try {
System.out.println("【查询文件请按1】【 查询目录请按2】【 删除文件请按3】【 删除目录请按4】【 输入其他数字退出】");
Scanner scanner= new Scanner(System.in);
int a=scanner.nextInt();
if(a==1){ //当a = 1时是查询目录
System.out.println("请输入你要查询【目录】的路径 格式只能为:G://a//aa");
Scanner scanner1= new Scanner(System.in); //Scanner是SDK1.5新增的一个类,可是使用该类创建一个对象.
String path=scanner1.nextLine();
f.CheckFile(path);
}else if(a==2){ //当a = 2时是查询目录
System.out.println("请输入你要查询【目录】的路径 格式只能为:G://a//aa");
Scanner scanner1= new Scanner(System.in);
String path=scanner1.nextLine();
f.CheckDir(path);
}else if(a==3){ //当a = 3时是删除文件
System.out.println("请输入你要删除的【文件】的路径 格式只能为:G://a//aa");
Scanner scanner4= new Scanner(System.in);
String path=scanner4.nextLine();
System.out.println("是否要删除以下的文件?:输入Y则删除,若输入N则不执行任何操作");
String del=scanner4.nextLine();
if("Y".equalsIgnoreCase(del)){
f.DleFile(path);
System.out.println("删除成功");
}else if("N".equalsIgnoreCase(del)){
flag=false;
}
}
else if(a==4){ //当a = 4时是删除目录
System.out.println("请输入你要删除的【目录】的路径 格式只能为:G://a//aa");
Scanner scanner4= new Scanner(System.in);
String path=scanner4.nextLine();
File file= new File(path);
if(file.exists()){
System.out.println("是否要删除以下的文件夹(注意:文件夹下面的所有内容将同时被删除):输入Y则删除,若输入N则不执行任何操作");
String del=scanner4.nextLine();
if("Y".equalsIgnoreCase(del)){
boolean flag1=f.DleDir(file);
if(flag1){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}else if("N".equalsIgnoreCase(del)){
flag=false;
}
}else{
System.out.println("路径无效!请重新输入!");
}
}else{
flag=false;
}
} catch (Exception e) {
System.out.println("你输入的格式错误 请重新输入!");
}
}
}
}
以上是关于对于电脑中文件的一些处理的主要内容,如果未能解决你的问题,请参考以下文章