java子文件夹
1. 如何用java程序在当前目录下创建一个子目录
用java程序在当前目录下创建一个子目录的方法是利用File对象的mkdirs方法。
完整代码如下:
// 获取当前图片的路径
String path = createImages.getAbsolutePath() + "/Images";
//创建文件对象f,根据path路径
File f = new File(path);
//如果当前不是一个目录就进入if
if (!f.isDirectory()) {
boolean success = f.mkdirs(); //创建一个目录
if (success) { //成功打印当前的路径
System.out.println("Created path: " + f.getPath());
} else { //失败的情况
System.out.println("Could not create path: " + f.getPath());
}
} else {
System.out.println("Path exists: " + f.getPath()); //子目录已存在。
}
关于mkdir:
mkdir()创建此抽象路径名称指定的目录(及只能创建一级的目录,且需要存在父目录),如果传入的path是多级路径,需要使用mkdirs()创建。
2. 用JAVA代码查出硬盘上某一文件夹和各级子文件夹下所有文件
class
YourClass{
Vector<String>files;
private
static
void
list(File
parentFolder
){
File[]
subItems=parentFolder.listFiles();
for(File
file:subItems){
if(file.isFile()){
files.add(file.getAbsolutePath());
}
else{
list(file);
}
}
}
public
static
String[]
listAll(String
path){
files=new
Vector<String>();
list(new
File(path));
return
files.toArray(new
String[0]);
}
public
static
void
main(String[]
args){
//调用listAll(你的文件夹路径)返回的就是所有子文件的
绝对路径
数组,你想怎么处理都可以了。
}
}
3. Java如何删除文件夹下的子目录及其包含的子文件
下面给你介绍Java删除文件夹下的子目录及其包含的子文件的方法:
package com.cn.test1;
import java.io.File;
public class DeleteAllFiles {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String filePath = "e:\\fq\\";
System.out.println("开始删除文件");
File file = new File(filePath);
// deleteFile(file);
deleteAllFilesOfDir(file);
System.out.println("删除成功!!");
}
//递归删除文件夹(方法一)
public static void deleteFile(File file) {
if (file.exists()) {//判断文件是否存在
if (file.isFile()) {//判断是否是文件
file.delete();//删除文件
} else if (file.isDirectory()) {//否则如果它是一个目录
File[] files = file.listFiles();//声明目录下所有的文件 files[];
for (int i = 0;i < files.length;i ++) {//遍历目录下所有的文件
deleteFile(files[i]);//把每个文件用这个方法进行迭代
}
file.delete();//删除文件夹
}
} else {
System.out.println("所删除的文件不存在");
}
}
//方法二
public static void deleteAllFilesOfDir(File path) {
if (!path.exists())
return;
if (path.isFile()) {
path.delete();
return;
}
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
deleteAllFilesOfDir(files[i]);
}
path.delete();
}
}
4. java 怎么没有只取得子文件夹的的功能呢
import java.io.FileFilter;
......
File parent=new File(".....");
......
File[] subFolders=parent.listFiles(new FileFilter(){
public boolean accept(File item){
return item.isDirectory();
}
});
//补充,确实如此。使用过滤类来区分文件和文件夹的话,需要额外调用函数的时间。还不如自己判断速度快。这种方法只是用着结构清楚。
//据我所知现有API中没有其它方法了。
5. java:怎样显示一个文件夹中所有的子文件夹(包括子文件夹的了文件夹的子文件夹……)和文件
//以下是一个李云山所着《深入浅出Javac程序设计》给出的程序
,可以参考一下。
/**
* ClassName:File19_3
* Description:
* Copyright: Copyright (c) 2002
* Company:
* @author:Liyunshan
* @version 1.0
*/
import java.io.*;
public class File19_3
{
static void listPath(File path, int level)
{
if (level == 0) System.out.println(path);
File files[] = path.listFiles(); //获得目录下所有文件
for (int i = 0; i < files.length; i++)
{
for (int j = 0; j <= level; j++) System.out.print(" ");
System.out.println(files[i].getName());
if (files[i].isDirectory()) //用递归列出子目录
{
listPath(files[i], (level + 1));
}
}
}
public static void main(String args[])
{
File dir = new File("Dir");
listPath(dir, 0);
}
}
//主要使用的是递归调用,层层获取。
6. java如何取得文件夹下所有的子目录
package e.chinasoft.wtf;
import java.io.File;
/**
* @author :wtf
* @version 创建时间:2018年3月5日 上午9:59:05
* 类说明:该类可以输出指定路径下所有的文件名(文件名和文件夹名)
* 指定一个路径即可
*/
public class printURL {
public static void main(String[] args) {
//这是需要获取的文件夹路径 这里填写你的文件路径 注意 / 与
String path = "E:/";
getFile(path,0);
}
/*
* 函数名:getFile
* 作用:使用递归,输出指定文件夹内的所有文件
* 参数:path:文件夹路径 deep:表示文件的层次深度,控制前置空格的个数
* 前置空格缩进,显示文件层次结构
*/
private static void getFile(String path,int deep){
// 获得指定文件对象
File file = new File(path);
// 获得该文件夹内的所有文件
File[] array = file.listFiles();
for(int i=0;i<array.length;i++)
{
if(array[i].isFile())//如果是文件
{
for (int j = 0; j < deep; j++)//输出前置空格
System.out.print(" ");
// 只输出文件名字
System.out.println( array[i].getName());
// 输出当前文件的完整路径
// System.out.println("#####" + array[i]);
// 同样输出当前文件的完整路径 大家可以去掉注释 测试一下
// System.out.println(array[i].getPath());
}
else if(array[i].isDirectory())//如果是文件夹
{
for (int j = 0; j < deep; j++)//输出前置空格
System.out.print(" ");
System.out.println( array[i].getName());
//System.out.println(array[i].getPath());
//文件夹需要调用递归 ,深度+1
getFile(array[i].getPath(),deep+1);
}
}
}
}
7. 用java 编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)!
import java.io.*;
class testfilelist {
public static void main(String[] args) {
String separator = File.separator;//与系统有关的默认名称分隔符,出于方便考虑,它被表示为一个字符串。
String filename = "myfile.txt";//文件名
String directory = "mydir1" + separator + "mydir2"+ separator +"mydir3";//mydir1\mydir2\mydir3\myfile.txt
crate(directory,filename);//给出个方法创建文件 if--有就创建 else--就输出文件名和大小
File f=new File("D:/My Documents/java12");//指定文件位置
System.out.println(f.getName());//打印在这个文件下的文件夹;
tree(f,1);//方法!进入子文件夹中 并打印子文件名
}
private static void tree(File f,int level) {
String preStr="";//缩进量
for(int i=0;i<level;i++) {
if(i==level-1)
preStr=preStr+"┗";
else
preStr=preStr+"*";//级别 - 代表这个目下下的子文件夹
}
File[] childs=f.listFiles();//返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
for(int i=0;i<childs.length;i++)
{
System.out.println(preStr+childs[i].getName());//打印子文件的名字
if(childs[i].isDirectory()) //测试此抽象路径名表示的文件是否是一个目录
{
tree(childs[i],level+1);
}//如果子目录下还有子目录,递归子目录调用此方法
}
}
public static void crate(String di,String fn){
File f = new File(di, fn);
if (f.exists())//测试此抽象路径名表示的文件或目录是否存在
{
System.out.println("文件名:" + f.getAbsolutePath());
System.out.println("文件大小:" + f.length());
} else {
f.getParentFile().mkdirs();// 返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null .mkdirs()//创建此抽象路径名指定的目录
try {
f.createNewFile();//当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
} 应该满足楼主的意思!嘿嘿
8. JAVA怎样删除文件及子文件
递归程序如下:
import java.io.File;
public class DeleteFile {
public static void main(String[] args) {
//路径名自己要小心写哦,一次性就删除完了
String path="F:\\html";
File f=new File(path);
try {
deleteFile(f);
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
System.out.println("==删除完成==");
}
public static void deleteFile(File f) throws Exception{
if(f.isFile()){
if(f.canWrite()){
f.delete();
}else{
throw new Exception("文件:"+f.getName()+"只读,无法删除,请手动删除");
}
}else{
File[] fs = f.listFiles();
if(fs.length!=0)
{
for(int i=0;i<fs.length;i++){
deleteFile(fs[i]);
}
}
f.delete();
}
}
}
9. 如何在java里面创建两个子目录
试试:
public static void main(String[] args) throws IOException {
String separator = File.separator;
String T = "A"+separator+"B"+","+"A"+separator+"E";
System.out.println(T);
String[] paths = T.split(",");
for(int i=0;i<paths.length;i++){
System.out.println("**"+"E:\\"+paths[i]);
File file = new File ("E:\\"+paths[i]);
file.mkdirs();//我原来用mkdir(),说不到路径。原因:这里要同时生成A 和B两个文件夹
//原来E:\下没有A,如果已经有A文件夹,则用mkdir();
}
}
10. java遍历指定文件夹下的所有子文件夹怎么操作
import java.io.File ;
import java.io.IOException ;
public class FileDemo11{
public static void main(String args[]){
File my = new File("d:" + File.separator) ;// 操作路径,可以有外部参数决定的
print(my) ;
}
public static void print(File file){// 递归调用
if(file!=null){// 判断对象是否为空
if(file.isDirectory()){// 如果是目录
File f[] = file.listFiles() ;// 列出全部的文件
if(f!=null){// 判断此目录能否列出
for(int i=0;i<f.length;i++){
print(f[i]) ;// 因为给的路径有可能是目录,所以,继续判断
}
}
}else{
System.out.println(file) ;// 输出路径
}
}
}
};