java多級目錄
❶ 用java寫一個方法,用於徹底刪除一個目錄,注:該目錄為多級目錄,且目錄下有文件。
importjava.io.File;
publicclassDeleteDirectory{
/**
*刪除空目錄
*@paramdir將要刪除的目錄路徑
*/
(Stringdir){
booleansuccess=(newFile(dir)).delete();
if(success){
System.out.println(":"+dir);
}else{
System.out.println("Failedtodeleteemptydirectory:"+dir);
}
}
/**
*遞歸刪除目錄下的所有文件及子目錄下所有文件
*@paramdir將要刪除的文件目錄
*@returnbooleanReturns"true"ifalldeletionsweresuccessful.
*Ifadeletionfails,themethodstopsattemptingto
*deleteandreturns"false".
*/
privatestaticbooleandeleteDir(Filedir){
if(dir.isDirectory()){
String[]children=dir.list();
//遞歸刪除目錄中的子目錄下
for(inti=0;i<children.length;i++){
booleansuccess=deleteDir(newFile(dir,children[i]));
if(!success){
returnfalse;
}
}
}
//目錄此時為空,可以刪除
returndir.delete();
}
/**
*測試
*/
publicstaticvoidmain(String[]args){
doDeleteEmptyDir("new_dir1");
StringnewDir2="new_dir2";
booleansuccess=deleteDir(newFile(newDir2));
if(success){
System.out.println(":"+newDir2);
}else{
System.out.println(":"+newDir2);
}
}
}
❷ java根據時間創建年月日多級文件夾
publicstaticvoidmain(String[]args){
Calendardate=Calendar.getInstance();
StringrootDir="D:";
Filefile=newFile(rootDir+File.separator+date.get(Calendar.YEAR)
+File.separator+(date.get(Calendar.MONTH)+1)+File.separator
+date.get(Calendar.DAY_OF_MONTH));
System.out.println(file.getAbsolutePath());
if(!file.exists()){//目錄不存在則直接創建
file.mkdirs();
}
}
❸ JAVA用File創建一個多級目錄a/b/c/d/e/f,然後在每一個目錄裡面添加一些文件和目錄
以下為一些基本操作
importjava.io.*;
publicclassTest{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("D:/test/a/b/c/d");
if(!file.exists()){
//創建文件夾,上級目錄不存在時自動創建,使用file.mkdir()方法時上級目錄不存在會拋異常
file.mkdirs();
}
Filefile2=newFile("D:/test/a/b/c/d/test.txt");
if(!file2.exists()){
//在D:/test/a/b/c/d/下創建一個新文件
file2.createNewFile();
}
Filefile3=newFile("D:/test/a/b/c/c-child");
if(!file3.exists()){
//在D:/test/a/b/c/下創建一個新文件夾c-child
file3.mkdir();
}
//在D盤根目錄下創建一個文件test.txt並寫入一下內容
//將D:/test.txt復制到D:/test/a/b/c/下並重命名為.txt
File(newFile("D:/test.txt"),newFile("D:/test/a/b/c/.txt"));
}
/**
*文件復制
*
*@paramsource源文件
*@paramtarget目標路徑
*@throwsIOException
*/
publicstaticvoidFile(Filesource,Filetarget)throwsIOException{
try(FileInputStreamins=newFileInputStream(source);
FileOutputStreamout=newFileOutputStream(target)){
byte[]b=newbyte[1024];
intn;
while((n=ins.read(b))!=-1){
out.write(b,0,n);
}
}
}
}
❹ java;怎麼在「G:\java\code「下創建一個文件夾
你的意思是創建多級目錄吧??
首先你得知道你要創建多級目錄的位置,比如你自己說的想在G:java/code下建立多級目錄,那麼您可以這么寫:
File file =new File("G:java/code/folder1/filder2/filder3..../folderN");
if(file.exists())
{
System.out.println("多級目錄已經存在不需要創建!!");
}else{
//如果要創建的多級目錄不存在才需要創建。
file.mkdirs();
}
這就是你想要的吧??其實創建多級目錄根只創建一個文件夾,除了在new File("*****")中括弧里邊寫的路徑差不多,再有就是創建多級目錄需要用file.mkdirs()而不是用file.mkdir(),如果你還不明白你可以查一下API,上邊將的很清楚!!!要學會查API才行,上邊將的可比我將的詳細多了!!
❺ java ftp 怎麼建立多層文件夾
public static void buildList(FtpClient aftp,String pathList) throws Exception {
aftp.ascii();
StringTokenizer s = new StringTokenizer(pathList, "/"); //sign
int count = s.countTokens();
String pathName = "";
while (s.hasMoreElements()) {
pathName = pathName + "/" + (String) s.nextElement();
try {
aftp.sendServer("XMKD " + pathName + "\r\n"); }
catch (Exception e) { e.printStackTrace(); }
int reply = aftp.readServerResponse(); }
aftp.binary();
}
❻ java 在我D盤下某個文件夾下有一些文件 我想用循環的方式把他們都讀取出來 是多級目錄 求高手幫幫忙
用遞歸循環方法列出目錄結構
import java.io.*;
public class FileList {
public static void main(String[] args) {
File f = new File("d:/java");
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++) {
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);
}
}
}
}
可以列出D盤的java目錄下的所以文件名(只要java文件夾下有文件)