Ⅰ 關於java io中File類的一些小問題~~求指點
這么說吧,windows裡面有 文件夾 和 文件, java裡面 只有 File, file可以指文件夾,也可以指文件;
File.mkdir()就是創建文件夾,File.createNewFile()就是創建文件;
你可以通過File.isDirectory()來判斷時文件夾還是文件;
你的實例就是先創建了個文件夾,然後在那個文件夾下面創建了1000個文件
注意創建文件時必需父目錄已經存在,實例中用的mkdir,一般來說更推薦mkdirs
Ⅱ Java中io操作,必須先創建文件夾再創建文件嗎
需要先【存在】文件夾,才能再創建文件。
當然,如果文件夾【不存在】,那麼就需要先創建文件夾,再創建文件
比如 : c盤已經存在,所以才能創建C盤下的文件
1
2
File file = new File("c:\\abc.txt");
file.createNewFile();//創建文件
1
2
File file = new File("c:\\test\\abc.txt");
file.createNewFile();//創建文件
如果文件夾不存在會出現異常
1
2
Exception in thread "main" java.io.IOException: 系統找不到指定的路徑。
at java.io.WinNTFileSystem.createFileExclusively
解決辦法,先創建文件夾,在創建文件
1
2
3
4
5
File file = new File("c:\\test\\abc.txt");
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();//創建"c:\\test"文件夾
}
file.createNewFile();//創建c:\\test\\abc.txt文件
Ⅲ 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;
}
}
Ⅳ java.io.File中mkdir和mkdirs的區別
mkdirs可以創建指定目錄以及所有的父目錄,創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄,也就是可以在不存在的目錄中創建文件夾。
mkdir創建此抽象路徑名指定的目錄,也就是只能在已經存在的目錄中創建創建文件夾。
mkdirs()可以建立多級文件夾,mkdir()只會建立一級的文件夾, 如下:
File file=new File("/tmp/one/two/three");
file.mkdirs();
執行後, 會建立tmp/one/two/three四級目錄
file..mkdir();
則不會建立任何目錄, 因為找不到/tmp/one/two目錄, 結果返回false
Ⅳ Java io中File類中 刪除文件的相關問題~
importjava.io.File;
publicclass${
publicstaticvoidmain(String[]args){
Filef=newFile("D:/a");
deleteFile(f);
}
privatestaticvoiddeleteFile(Filef){
//如果是文件,直接刪除
if(f.isFile()){
f.delete();
return;
}
//如果是文件夾,先遍歷刪除裡面的文件,最後在把本文件夾刪除
File[]fs=f.listFiles();
for(Filefile:fs){
//遞歸調用的目的是,文件夾里可能有子文件夾
deleteFile(file);
}
//刪除文件夾
f.delete();
}
}
Ⅵ java中io流我想創建新的文件夾,然後在目錄下創建文件new 一個file能寫出來嗎
首先是File指定路徑
Filefile=newFile("路徑");
然後獲取文件路徑的上一個目錄,並創建目錄
file.getParentFile().mkdirs();
創建文件
file.createNewFile();
Ⅶ java.io.File類中獲取文件名的方法是 。
public String getName()
返回由此抽象路徑名表示的文件或目錄的名稱。該名稱是路徑名名稱序列中的最後一個名稱。如果路徑名名稱序列為空,則返回空字元串。
返回:
此抽象路徑名表示的文件或目錄的名稱;如果路徑名的名稱序列為空,則返回空字元串
Ⅷ java io 流 里的 file 能把 文件夾給刪了嗎 ,包括文件夾下的所有內容
可以,先把內容刪除完畢,文件夾才可以刪除!
如果文件夾有內容是直接刪除不了,windows也是如此,滑鼠操作可以直接在windows直接刪除一個帶有內容的文件夾,那是因為它內部也做了遞歸處理,也是先刪除的文件夾內部的內容,然後才刪除的文件夾!
Ⅸ import java.io.file是幹嘛的
首先你要有包的概念,Java中的包就相當於windows系統中的文件夾,大白話就是,當前程序要使用Java文件夾下的io文件夾下的File類,猶豫不在同一個文件下的文件是相互不可見的,所以需要聲明引入。
Ⅹ java中關於IO關於File對像創建文件夾的問題
看源代碼會發現mkdirs會創建指定的目錄,包括所不存在的父目錄
public boolean mkdirs() {
if (exists()) {
return false;
}
if (mkdir()) {
return true;
}
File canonFile = null;
try {
canonFile = getCanonicalFile();
} catch (IOException e) {
return false;
}
File parent = canonFile.getParentFile();
return (parent != null && (parent.mkdirs() || parent.exists()) &&
canonFile.mkdir());
}
至於失敗的原因,你把源碼完整貼出來看看