A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1、File
在进行文件上传和下载的时候肯定是需要File类的。File类的对象可以对目录进行相关的操作。可以进行创建、读取和删除目录,也可以删除文件。
File类里创建文件夹的方法有两个:mkdir()和mkdirs()。
读取目录的方法有isDirectory()(用于判断是否为一个File对象和目录)和list(),list用于检查一个文件夹中包含的内容,提取包含的文件和文件夹的列表。
删除文件使用java.io.File.delete()方法。       
注:一个目录就是一个File对象,包含其他文件和文件夹。

创建文件夹

import java.io.File;

public class CreateDir {
    public static void main(String args[]) {
        String dirname = "/tmp/user/java/bin";
        File d = new File(dirname);
        // 现在创建目录
        d.mkdirs();
    }
}
1
2
3
4
5
6
7
8
9
10
读取目录

import java.io.File;

public class DirList {
    public static void main(String args[]) {
        String dirname = "/tmp";
        File f1 = new File(dirname);
        if (f1.isDirectory()) {
            System.out.println("目录 " + dirname);
            String s[] = f1.list();
            for (int i = 0; i < s.length; i++) {
                File f = new File(dirname + "/" + s);
                if (f.isDirectory()) {
                    System.out.println(s + " 是一个目录");
                } else {
                    System.out.println(s + " 是一个文件");
                }
            }
        } else {
            System.out.println(dirname + " 不是一个目录");
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
删除目录

import java.io.File;

public class DeleteFileDemo {
    public static void main(String args[]) {
        // 这里修改为自己的测试目录
        File folder = new File("/tmp/java/");
        deleteFolder(folder);
    }

    // 删除文件及目录
    public static void deleteFolder(File folder) {
        File[] files = folder.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isDirectory()) {
                    deleteFolder(f);
                } else {
                    f.delete();
                }
            }
        }
        folder.delete();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2、FileOutputStream/FileInputStream
一个流被定义为一个数据系列。输入流从源数据读入数据,输出流用于向目标写入数据。
FileIutputStream从文件读取数据,对象可以用关键字new创建。有***多个构造方法***创建***输入流对象***。
a:字符串类型的文件名作为参数。

InputStream  f = new  FileInputStream("c:/java/hello");
1
b: 使用文件对象

File f = new File("c:/java/hello");
InputStream is = new FileInputStream(f);
1
2
得到对象之后,常用的方法有read(int t),从InputStream对象读取指定字节的数据,返回下一字节数据。若到末尾则返回***-1***;read(byte[] r),从***InputStream***读取***长度为r.length长度的字节***,返回读取的字节数。

FileOutputStream
该类相比FileInputStream多一个功能,就是在打开文件进行输出前,检查目标文件是否存在。不存在的话则会创建应该文件。
同FileInputStream,创建对象有两个方法。

a:字符串类型的文件名作为参数

OutputStream f = new FileOutputStream("c:/java/hello");
1
b: 使用一个文件对象

File f = new File("c:/java/hello");
OutputStream os = new FileOutputStream(f);
1
2
得到OutputStream对象之后,常用的方法(和InputStream相对应)有write(int t)和write(byte[] b)。
write(int t) :把指定的字节写入到输出流
write(byte[] b):把指定数组中b.lenght长度的字节写入到OutputStream中。
---------------------
【转载,仅作分享,侵删】
作者:海绵爱上星
原文:https://blog.csdn.net/zzyssg/article/details/88577010
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马