解决方案 »
- 初学servlet 看了韩顺平的视频, 写了简单用户登录的代码,继承了Httpservlet ,发现不能进行页面跳转,各位大神看看,小弟没分,真心求助
- web程序servlet如何多线程?
- spring问题
- 利用form取表单中list数据时顺序发生变化的问题,请教高人解答
- 资源文件ApplicationResources.properties的问题!在线等!
- Spring 初学的简单问题。
- 问一下,大家自己作开发都用什么操作系统
- 遇到一个难题,请专家解答.
- 高分求教:两个IDE问题
- 如何打开MYeclipse的刚刚关闭页面
- csdn写博客这个怎么关于博客文章的超链接怎么弄得?是在源代码里面用html设置锚点来做的吗?好像挺复杂的样子
- 怎么遍历list来得到easyui tree 需要的json
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;/**
* 1)创建目录时,用户可以输入如:aaa/bbb/ccc 这样的层次结构。
2)删除目录时,要求把其中含有的所有子目录、文件同时删除。
3)创建文件时,用户可以输入类似:aaa/bbb/a.txt 这样的格式
4)删除文件时,也可以指定目录层次
*
*
*/
public class File1 {
public void newDir() throws Exception{
String name = JOptionPane.showInputDialog("请需要创建的文件路径");
//如果输入格式包含文件名,则创建文件夹同时创建文件
if(name.endsWith(".txt")){
Pattern p = Pattern.compile(".*(?=/\\w+\\.t\\w+)");
Matcher m = p.matcher(name);
while(m.find()){
String s = m.group();
new File(s).mkdirs();
new File(name).createNewFile();
}
}else{
//如果输入aaa/bbb/ccc 这样的层次结构
new File(name).mkdirs();
}
}
public void delete(){
String name = JOptionPane.showInputDialog("请输入文件路径");
fun(name);
}
public void fun(String name){
//循环遍历输入文件夹中所有文件
File file = new File(name);
File[] files = file.listFiles();
for(File f:files){
//请勿尝试删除功能
// f.delete();
System.out.println(f.getPath());
if(f.isDirectory() && f.length() != 0){
fun(f.getPath());
}
}
}
public static void main(String[] args) throws Exception{
File1 f = new File1();
f.newDir();
f.delete();
}
}
3) 创建文件时,用户可以输入类似:aaa/bbb/a.txt 这样的格式
4) 删除文件时,也可以指定目录层次
上面三条查询一下File的API 3个方法3行代码就能搞定2) 删除目录时,要求把其中含有的所有子目录、文件同时删除。
这个可以用递归方式
参照下面import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class del{
static StringBuffer sb = new StringBuffer();
static Date dd = new Date();
public static void main(String[] args) throws SQLException, ParseException, IOException{
tree(new File("d:\\src"));
}
//显示目录的方法
public static void tree(File f) throws IOException{
//判断传入对象是否为一个文件夹对象
if(!f.isDirectory()){
System.out.println("你输入的不是一个文件夹,请检查路径是否有误!!");
}
else{
File[] t = f.listFiles();
for(int i=0;i<t.length;i++){
//判断文件列表中的对象是否为文件夹对象
if(t[i].isDirectory()){
//输出文件夹名字
if (".svn".equals(t[i].getName())) {
System.out.println(t[i].getPath());
del(t[i].getPath());
// System.out.println(t[i].delete());
}
tree(t[i]);
}
else{
}
}
}
}
public static void del(String filepath) throws IOException{
File f = new File(filepath);//定义文件路径
if(f.exists() && f.isDirectory()){//判断是文件还是目录
if(f.listFiles().length==0){//若目录下没有文件则直接删除
f.delete();
}else{//若有则把文件放进数组,并判断是否有下级目录
File delFile[]=f.listFiles();
int i =f.listFiles().length;
for(int j=0;j<i;j++){
if(delFile[j].isDirectory()){
del(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径
}
delFile[j].delete();//删除文件
}
}
}
}
}