HDFS 读取、写入、遍历目录获取文件全路径

1、从HDFS中读取数据

Configuration conf = getConf();
  Path path = new Path(pathstr);
  FileSystem fs = FileSystem.get(conf);
   FSDataInputStream fsin= fs.open(path );
   BufferedReader br =null;
   String line ;
   try{
    br = new BufferedReader(new InputStreamReader(fsin));
       while ((line = br.readLine()) != null) {
         System.out.println(line);
        }
   }finally{
    br.close();
   }

2、写HDFS

  Configuration conf = getConf();
  Path path = new Path(mid_sort);
  FileSystem fs = FileSystem.get(conf);
  FSDataOutputStream out = fs.create(resultpath);
  out.write(sb.toString().getBytes());
  out.close();

3、遍历目录 获取文件 全路径

/**
  * 得到一个目录(不包括子目录)下的所有名字匹配上pattern的文件名
  * @param fs
  * @param folderPath
  * @param pattern 用于匹配文件名的正则
  * @return
  * @throws IOException
  */
 public static List<Path> getFilesUnderFolder(FileSystem fs, Path folderPath, String pattern) throws IOException {
  List<Path> paths = new ArrayList<Path>();
  if (fs.exists(folderPath)) {
   FileStatus[] fileStatus = fs.listStatus(folderPath);
   for (int i = 0; i < fileStatus.length; i++) {
    FileStatus fileStatu = fileStatus[i];
    if (!fileStatu.isDir()) {//只要文件
     Path oneFilePath = fileStatu.getPath();
     if (pattern == null) {
      paths.add(oneFilePath);
     } else {
      if (oneFilePath.getName().contains(pattern)) {
       paths.add(oneFilePath);
      }
     }
    }
   }
  }
  return paths;
 }

HDFS 读取、写入、遍历目录获取文件全路径

时间: 2024-08-02 14:52:49

HDFS 读取、写入、遍历目录获取文件全路径的相关文章

C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDial

C#路径中获取文件全路径、目录、扩展名、文件名称

常用函数 需要引用System.IO   直接可以调用Path的静态方法 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 6 //获取当前运行程序的目录 7 string fileDir = Environment.CurrentDirectory; 8 Console.WriteLine("当前程序目录:"+fileDir); 9 10 //一个文件目录 11 string filePath = "C:

路径中获取文件全路径、目录、扩展名、文件名称

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace TBQDLKW { class Program { static void Main(string[] args) { //一个文件目录 string filePath = @"C:\Users\JuYaNan\Desktop\DBCs\ST_CAN.dbc";

linux获取文件全路径的方法

获取路径的各种相关方法: 获取文件名: basename /home/cuizhiliang344/note.txt note.txt 获取目录: dirname /home/cuizhiliang344/note.txt /home/cuizhiliang344 通过一个文件获取全路径 方法一: readlink -f  note.txt /home/cuizhiliang344/note.txt 方法二: python -c 'import os; print(os.path.abspath

php遍历目录下文件,并读取内容

<?php echo "<h2>遍历目录下文件,并读取内容</h2><br>\n"; function listDir($dir) { if(is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if((is_dir($dir."/".$file)) && $file!=".&quo

java递归遍历目录获取所有文件及目录方案

本文提供一份递归遍历目录获取所有文件及目录的源代码: import java.io.File; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2019/2/10. */ public class TestWalkDir { static class FileComponent { File curFile; List<FileComponent> fileComponen

asp.net 客户端上传文件全路径获取方法

asp.net  获取客户端上传文件全路径方法: eg:F:\test\1.doc 基于浏览器安全问题,浏览器将屏蔽获取客户端文件全路径的方法,只能获取到文件的文件名,如果需要获取全路径则需要另想其他方法 如下提供两种方法: 方法1:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可. 方法2: function getPath() { //获取file 控件对象 var obj =

python基础:匹配指定目录下符合规则的文件,打印文件全路径

# -*- coding:utf-8 -*- #遍历目录树 import os,fnmatch def all_files(root, patterns='*', single_level=False, yield_folder=False): # 将模式从字符串中取出放入列表中 patterns = patterns.split(';') for path, subdirs, files in os.walk(root): if yield_folder: files.extend(subdi

获取指定进程所对应的可执行(EXE)文件全路径(代码)

1 #include "Psapi.h" 2 #pragma comment(lib, "Psapi.lib ")//需要包含头文件哦! 1 /* 功 能:获取指定进程所对应的可执行(EXE)文件全路径 2 * 参 数:hProcess - 进程句柄.必须具有PROCESS_QUERY_INFORMATION 或者 3 PROCESS_QUERY_LIMITED_INFORMATION 权限 4 * sFilePath - 进程句柄hProcess所对应的可执行文件