Java抽象类org.apache.hadoop.fs.FileSystem定义了hadoop的一个文件系统接口。Hadoop中关于文件操作类基本上全部是在"org.apache.hadoop.fs"包中
操作包括:打开文件,读写文件,删除文件
具体方法实现
1、publicboolean mkdirs(Path f) throws IOException
一次性新建所有目录(包括父目录), f是完整的目录路径。
2、publicFSOutputStream create(Path f) throws IOException
创建指定path对象的一个文件,返回一个用于写入数据的输出流
create()有多个重载版本,允许我们指定是否强制覆盖已有的文件、文件备份数量、写入文件缓冲区大小、文件块大小以及文件权限。
3、publicboolean copyFromLocal(Path src, Path dst) throws IOException
将本地文件拷贝到文件系统
4、publicboolean exists(Path f) throws IOException
检查文件或目录是否存在
5、publicboolean delete(Path f, Boolean recursive)
永久性删除指定的文件或目录,如果f是一个空目录或者文件,那么recursive的值就会被忽略。只有recursive=true时,一个非空目录及其内容才会被删除。
6、FileStatus类封装了文件系统中文件和目录的元数据,包括文件长度、块大小、备份、修改时间、所有者以及权限信息。
通过"FileStatus.getPath()"可查看指定HDFS中某个目录下所有文件
查看文件
Configuration conf = new Configuration();
FileSystem hdfsFileSystem = FileSystem.get(conf);
List<String> areaCenterList = IOUtils.readLines(hdfsFileSystem.open(new Path(VehicleSegApp.areaCenter)), "UTF-8");