javafile文件夾
刪除文件夾下的所有文件需要用到java.io.File類的各個方法,並需要使用簡單的遞歸演算法。
示例代碼如下:
import java.io.File;
public class Test
{
public static void main(String args[]){
Test t = new Test();
delFolder("c:/bb");
System.out.println("deleted");
}
//刪除文件夾
//param folderPath 文件夾完整絕對路徑
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); //刪除完裡面所有內容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //刪除空文件夾
} catch (Exception e) {
e.printStackTrace();
}
}
//刪除指定文件夾下所有文件
//param path 文件夾完整絕對路徑
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先刪除文件夾裡面的文件
delFolder(path + "/" + tempList[i]);//再刪除空文件夾
flag = true;
}
}
return flag;
}
}
2. Java如何創建文件夾
file類裡面有兩個方法可以實現:
一個是mkdir():創建此抽象路徑名指定的目錄。
另外一個是mkdirs():創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。
比如你想在a文件夾創建一個b文件夾,並在b文件夾下創建c和d文件夾,可以用下面的代碼實現:
importjava.io.file;
publicclasstest{
publicstaticvoidmain(stringargs[]){
filefile=newfile("d:\\a\\b\\c");
file.mkdirs();
file=newfile("d:\\a\\b\\d");
file.mkdir();
}
}
希望對你有幫助。。。。仍有問題可以hi我。。。
3. JAVA File類 刪除文件
1、創建File對象File(String pathname):pathname錄入時錄入的路徑字元串需要注意/和的運用,但是由於java開發出的程序需要運用到不同的系統上,因此,一般以File.separator來代替。
4. 在Java中用file創建文件夾,然後再在文件夾里創建3個文本文件。。。。詳情看圖片
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.FilenameFilter;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.io.PrintWriter;
importjava.util.Scanner;
publicclassIOExam{
publicenumFileType{
FILE,DIR
}
_4_Remove=newFilenameFilter(){
@Override
publicbooleanaccept(Filedir,Stringname){
FilethisFile=newFile(dir,name);
returnthisFile.isDirectory()
||(thisFile.isFile()&&name.toLowerCase()
.endsWith(".txt"));
}
};
=newFilenameFilter(){
@Override
publicbooleanaccept(Filedir,Stringname){
returnname.toLowerCase().endsWith(".txt");
}
};
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
try{
//-----題目1
FileioHOME=newFile("D:\ioHome");
createDir(ioHOME);
createFile(newFile(ioHOME,"first.txt"));
createFile(newFile(ioHOME,"second.txt"));
createFile(newFile(ioHOME,"third.txt"));
createDir(newFile(ioHOME,"java/io/test"));
//-----題目1
File[]files=ioHOME.listFiles(txtFilter);
for(Filefile:files){
System.out.print("請輸入:");
writeFile(sc.nextLine(),file);
}
//-----題目3
File(newFile(ioHOME,"first.txt"),newFile(ioHOME,"java"));
File(newFile(ioHOME,"second.txt"),newFile(ioHOME,"java"));
File(newFile(ioHOME,"third.txt"),newFile(ioHOME,"java"));
//-----題目4
removeAndOutputTxtFile(ioHOME);
}catch(Exceptione){
e.printStackTrace();
}
}
privatestaticvoidcreateFile(Filef)throwsIOException{
creatFileOrDir(f,FileType.FILE);
}
privatestaticvoidcreateDir(Filef)throwsIOException{
creatFileOrDir(f,FileType.DIR);
}
(Filefile,FileTypetype)
throwsIOException{
switch(type){
caseDIR:
file.mkdirs();
break;
caseFILE:
file.createNewFile();
break;
default:
break;
}
}
privatestaticvoidFile(Fileinput,Fileoutdir)throwsIOException{
InputStreamis=newFileInputStream(input);
if(!outdir.exists())
outdir.mkdirs();
OutputStreamos=newFileOutputStream(
newFile(outdir,input.getName()));
byte[]buff=newbyte[1024];
intlen=0;
while((len=is.read(buff))>-1){
os.write(buff,0,len);
}
os.flush();
is.close();
os.close();
}
privatestaticStringreadFile(Filefile)throwsIOException{
FileReaderfr=newFileReader(file);
StringBuffersb=newStringBuffer();
char[]buff=newchar[1024];
intlen=0;
while((len=fr.read(buff))>-1){
sb.append(newString(buff,0,len));
}
fr.close();
returnsb.toString();
}
(Filefile){
if(!file.exists())
return;
if(file.isFile()){
try{
System.out.println("刪除:"+file);
System.out.println(readFile(file));
}catch(IOExceptione){
e.printStackTrace();
}
file.delete();
}else{
for(Filef:file.listFiles(txtFilter_4_Remove)){
removeAndOutputTxtFile(f);
}
}
}
privatestaticvoidwriteFile(Stringcontent,Filefile)throwsIOException{
PrintWriterpw=newPrintWriter(file);
BufferedWriterbw=newBufferedWriter(pw);
bw.write(content);
bw.flush();
pw.close();
bw.close();
}
}
5. java中file怎麼在指定的文件夾中創建多個文件
具體的創建方法參照下面的實例:
public class FileTest {
publicstaticvoidmain(String[]args){
//根據系統的實際情況選擇目錄分隔符(windows下是,linux下是/)
Stringseparator=File.separator;
Stringdirectory="myDir1"+separator+"myDir2";
//以下這句的效果等同於上面兩句,windows下正斜杠/和反斜杠都是可以的
//linux下只認正斜杠,為了保證跨平台性,不建議使用反斜杠(在java程序中是轉義字元,用來表示反斜杠)
//Stringdirectory="myDir1/myDir2";
StringfileName="myFile.txt";
//在內存中創建一個文件對象,注意:此時還沒有在硬碟對應目錄下創建實實在在的文件
Filef=newFile(directory,fileName);
if(f.exists()){
//文件已經存在,輸出文件的相關信息
System.out.println(f.getAbsolutePath());
System.out.println(f.getName());
System.out.println(f.length());
}else{
//先創建文件所在的目錄
f.getParentFile().mkdirs();
try{
//創建新文件
f.createNewFile();
}catch(IOExceptione){
System.out.println("創建新文件時出現了錯誤。。。");
e.printStackTrace();
}
}
}
}
6. java怎樣用File類拷貝文件夾
使用 java.io.File listFiles得到列表, 判斷是文件夾則創建、文件則拷貝
~~~~~~~~~~~~~~~
7. java 種的File類是用來做什麼的有什麼用處(追加40分)
File類是用來操作文件及目錄(文件夾)的,你可以拋開別的,只是想想,
能對文件及目錄干什麼?無非就是創建文件或目錄,刪除、修改文件的內容等簡單操作。再就是通過遍歷文件做某些操作。File類就是干這些的。你再依據以下小程序理解下File類的操作就覺得簡單了。
File
f
=
new
File("d://123.txt");//你可以把它理解為告訴File類要操作的路徑,但是還沒讓它操作。
f.createNewFile()
;//創建文件,如果創建成功返回true
f.delete()
;//刪除文件,如果刪除成功返回true
。。。
8. java 中的file中怎麼刪除全部文件夾
可參考如下代碼,代碼說明寫代碼後注釋上
示例代碼如下:
importjava.io.File;
publicclassTest
{
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
delFolder("c:/bb");
System.out.println("deleted");
}
//刪除文件夾
//paramfolderPath文件夾完整絕對路徑
publicstaticvoiddelFolder(StringfolderPath){
try{
delAllFile(folderPath);//刪除完裡面所有內容
StringfilePath=folderPath;
filePath=filePath.toString();
java.io.FilemyFilePath=newjava.io.File(filePath);
myFilePath.delete();//刪除空文件夾
}catch(Exceptione){
e.printStackTrace();
}
}
//刪除指定文件夾下所有文件
//parampath文件夾完整絕對路徑
publicstaticbooleandelAllFile(Stringpath){
booleanflag=false;
Filefile=newFile(path);
if(!file.exists()){
returnflag;
}
if(!file.isDirectory()){
returnflag;
}
String[]tempList=file.list();
Filetemp=null;
for(inti=0;i<tempList.length;i++){
if(path.endsWith(File.separator)){
temp=newFile(path+tempList[i]);
}else{
temp=newFile(path+File.separator+tempList[i]);
}
if(temp.isFile()){
temp.delete();
}
if(temp.isDirectory()){
delAllFile(path+"/"+tempList[i]);//先刪除文件夾裡面的文件
delFolder(path+"/"+tempList[i]);//再刪除空文件夾
flag=true;
}
}
returnflag;
}
}