IO流,File类的使用,mkdir,mkdirs,renameTo,判断功能,获取功能,高级获取功能

来源:互联网 发布:网络攻防大赛 编辑:程序博客网 时间:2024/05/17 22:59

IO流File类的使用

我们如果在电脑硬盘里,如何实现创建文件夹和文件呢?

public class FileDemo {    public static void main(String[] args) {        // TODO 自动生成的方法存根        // 在G盘下创建一个demo文件夹        File file = new File("G:\\demo");        System.out.println("mkdir:"+file.mkdir());

我们利用了mkdir方法创建了一个文件夹,我们来看看效果

mkdir:true

我们打开电脑查看下是不是真的有.
这里写图片描述
ok创建成功,我们再来看看,IO流创建文件的方式

public class FileDemo {    public static void main(String[] args) throws IOException {        // TODO 自动生成的方法存根        // 在G盘下创建一个demo文件夹        File file = new File("G:\\demo");        System.out.println("mkdirs:" + file.mkdirs());        // 在G盘下创建一个1.txt文件        File file2 = new File("G:\\demo\\1.txt");        System.out.println(file2.createNewFile());    }}

运行结果如下

mkdirs:false
true

我们发现创建过了的文件夹是显示false ,所以当你创建了,就无法再新建了。
这里写图片描述

Mkdirs方法,当我们要创建多个文件夹的时候 ,就可以使用这个。

public class FileDemo {    public static void main(String[] args) throws IOException {        // TODO 自动生成的方法存根        // 在G盘下创建一个demo文件夹        File file = new File("G:\\demo");        System.out.println("mkdir:" + file.mkdir());        // 在G盘下创建一个1.txt文件        File file2 = new File("G:\\demo\\1.txt");        System.out.println(file2.createNewFile());        //mkdirs        File file3 = new File("G:\\aaa\\bb\\c");        System.out.println("mkdirs:"+file3.mkdirs());    }}

mkdir:false
false
mkdirs:true

这里写图片描述

删除功能:

public class FileDemo {    public static void main(String[] args) throws IOException {        // TODO 自动生成的方法存根        // 在G盘下创建一个demo文件夹        File file = new File("G:\\demo");        System.out.println("mkdir:" + file.mkdir());        // 在G盘下创建一个1.txt文件        File file2 = new File("G:\\demo\\1.txt");        System.out.println(file2.createNewFile());        //mkdirs        File file3 = new File("G:\\aaa\\bb\\c");        System.out.println("mkdirs:"+file3.mkdirs());        //删除功能        File file4 = new File("G:\\aaa\\bb\\c");        System.out.println(file4.delete());    }}

结果为

true

也很简单,我们会发现刚刚创建的3个文件夹没有了

renameTo(重命名功能)

public class FileDemo2 {    public static void main(String[] args) throws IOException {        //创建一个文件        File file = new File("123.txt");        System.out.println(file.createNewFile());        //重命名文件        File newfile = new File("1234.txt");        System.out.println("renameTo:" + file.renameTo(newfile));    }}

输出结果为:

renameTo:true

判断功能

我们查看下api
public boolean isDirectory() //是不是目录
public boolean isFile() //是不是文件
public boolean exists() //是否存在
public boolean canRead() //是否可读
public boolean canWrite() //是否可写
public boolean isHidden() //是不是隐藏
接下来我们来用代码实现下:
我们在项目目录里新建一个1234.txt

public class FileDemo3 {    public static void main(String[] args) {        // TODO 自动生成的方法存根        /*/判断功能        public boolean isDirectory()  //是不是目录        public boolean isFile()    //是不是文件        public boolean exists()  //是否存在        public boolean canRead()  //是否可读        public boolean canWrite()  //是否可写        public boolean isHidden()  //是不是隐藏*/        File file = new File("1234.txt");        System.out.println("isDirectory----"+file.isDirectory());        System.out.println("isFile----"+file.isFile());        System.out.println("exists----"+file.exists());        System.out.println("canRead----"+file.canRead());        System.out.println("isHidden----"+file.isHidden());    }}

运行结果如下:

isDirectory—-false
isFile—-true
exists—-true
canRead—-true
isHidden—-false

获取功能

public String getAbsolutePath()//获取绝对路径public String getPath()获取相对路径public String getName()获取名字public long length()获取长度,字节public long lastModified()获取最后修改时间
File file = new File("demo\\1234.txt");        System.out.println("getAbsolutePath----"+file.getAbsolutePath());        System.out.println("getPath----"+file.getPath());        System.out.println("getName----"+file.getName());        System.out.println("length----"+file.length());        System.out.println("lastModified----"+file.lastModified());    }}

输出结果:

getAbsolutePath—-G:\eclipse\workspace\day24\demo\1234.txt
getPath—-demo\1234.txt
getName—-1234.txt
length—-0
lastModified—-1486612486562

高级获取功能

// 高级获取功能        File file = new File("G:\\");        // public String[] list()        // public File[] listFiles()        //获取改目录下的所有文件夹或者文件的数组名称         String[] string = file.list();        for (String s : string) {            System.out.println(s);        }        System.out.println("---------");         //public File[] listFiles() 获取改目录下的所有文件或者file数组        File[] string1 = file.listFiles();        for (File f : string1) {            System.out.println(f);        }    }}

// public String[] list()
// public File[] listFiles()
我们利用这两个方法来获取了我磁盘的文件和名称 我们来看看效果

---------$RECYCLE.BINaaaActivityTestASConfig.MsidemoeclipseHello---------G:\$RECYCLE.BING:\aaaG:\ActivityTestG:\ASG:\Config.MsiG:\demoG:\eclipseG:\Hello

这就是输出了我磁盘的一些文件,当然你们运行的结果和我不一样。

0 0
原创粉丝点击