Ⅰ 关于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());
}
至于失败的原因,你把源码完整贴出来看看