`

hdfs 简单的api 读写文件

 
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;


public class TestRead {

	/**
	 * @param args
	 * @throws Throwable 
	 */
	public static void main(String[] args) throws Throwable {
		String path = args[0];
		String confFile = args[1];
		Configuration conf = new Configuration(); 
		FileInputStream fis = new FileInputStream(confFile);
		conf.addResource(fis);
		FileSystem fileSystem = FileSystem.get(conf);
		FSDataInputStream fs = fileSystem.open(new Path(path));
		BufferedReader bis = new BufferedReader(new InputStreamReader(fs,"GBK"));	
		FileWriter fos = new FileWriter(args[2]);
		BufferedWriter bw = new BufferedWriter(fos);
        String temp;
        int i=0;
	    while ((temp = bis.readLine()) != null) {
	    	bw.write(temp);
	    	System.out.println(temp);
	    	if(temp.startsWith("</doc>")) {
	    		break;
	    	}
	    	if(temp.indexOf("上海") > -1) {
	    		System.out.println("发现你了 coming");
	    		break;
	    	}
	    }	    
	    bw.close();
	    bis.close();
	    fileSystem.close();
	}

}

 

需要注意的几点:

1:读写file最好都用BufferedXXX

2:如果是读取byte 写文件,不存在字符集问题

3:如果是读取字符请注意 字符集编码问题,例如我是设置读取GBK编码

InputStreamReader(fs,"GBK")
分享到:
评论

相关推荐

    HDFS文件系统基本文件命令、编程读写HDFS

    该 API 包括了 open、read、write、close 等方法,用于读写 HDFS 文件。 使用 HDFS API 可以实现以下操作: 1. 上传本地文件:使用 FileSystem.copyFromLocalFile() 方法将本地文件上传到 HDFS。 2. 下载 HDFS ...

    java操作Hadoop源码之HDFS Java API操作-上传文件

    在Java编程环境中,Hadoop分布式文件系统(HDFS)提供了丰富的Java API,使得开发者能够方便地与HDFS进行交互,包括文件的上传、下载、读写等操作。本篇文章将详细探讨如何使用HDFS Java API来实现文件上传的功能。 ...

    3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件

    为了高效地与HDFS交互,Java API 提供了一套丰富的工具和类库,使得开发者能够方便地进行文件的读写、上传、下载、遍历、查找、拷贝以及管理HDFS上的文件和目录。以下将详细讲解如何使用Java API 操作HDFS。 ### 一...

    云计算技术实验报告四HDFS文件的读写

    实验报告“云计算技术实验报告四HDFS文件的读写”主要涵盖了如何在Hadoop的分布式文件系统(HDFS)上进行文件操作,包括文件的上传和下载,以及文件的合并。该实验是针对计算机科学专业的《云计算技术》课程设计,...

    HDFS FS API

    HDFS FS API 是Hadoop提供的用于与HDFS进行交互的一组Java接口和类,允许程序员进行文件的读写操作、目录管理等。下面我们将深入探讨这些API的使用方法。 1. 获取HDFS实例或对象: 在Hadoop中,我们通常通过`...

    hdfs-java-api

    5.1 MapReduce:在MapReduce程序中,`InputFormat`和`OutputFormat`类通过HDFS Java API读写输入输出数据。 5.2 Spark:Spark作业通过`SparkContext`与HDFS交互,读取和写入数据。 5.3 自定义服务:开发基于Hadoop的...

    实验项目 实战 HDFS 实验报告

    实验目的是通过一系列操作,让学生全面理解HDFS的架构、文件存储原理以及数据读写流程。 一、HDFS体系架构 HDFS由NameNode、DataNode和SecondaryNameNode等关键组件构成。NameNode作为元数据管理节点,负责文件系统...

    java操作Hadoop源码之HDFS Java API操作-创建目录

    在大数据处理领域,...在实际应用中,你可能需要处理异常,优化错误处理,并根据具体需求进行更复杂的操作,比如读写文件、检查文件是否存在等。通过熟练掌握HDFS的Java API,你可以构建出强大的数据处理应用程序。

    利用javaAPI访问HDFS的文件

    在Java程序中操作HDFS文件主要依赖于`org.apache.hadoop.fs.FileSystem`类,该类提供了许多方法用于执行文件系统操作,如创建文件、删除文件、读写文件等。 ##### 1. 创建文件系统实例 ```java Configuration conf ...

    Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

    这个模块提供了一个简单易用的API来执行读写操作。以下是如何使用`pyhdfs`进行文件操作的示例: 1. **文件读取**: - 首先,需要导入`HdfsClient`,指定HDFS的地址和端口,例如:`client = HdfsClient(hosts='ghym...

    HDFS Java api 简单程序.zip

    HDFS Java API是开发人员与HDFS进行通信的主要接口,它提供了丰富的类和方法,使得在Java程序中读写HDFS文件变得简单易行。 首先,我们需要导入Hadoop的相关库。在Java项目中,确保你的`pom.xml`或`build.gradle`...

    《Hadoop大数据开发实战》教学教案—03HDFS分布式文件系统.pdf

    本节课程主要介绍 HDFS 的概念、HDFS 存储架构和数据读写流程、HDFS 的 Shell 命令、Java 程序操作 HDFS、Hadoop 序列化、Hadoop 小文件处理、通信机制 RPC 等知识点。 HDFS 概念 HDFS(Hadoop Distributed File ...

    hadoop273 hdfs的IO操作API所引用的jar包

    这些JAR包包含了Hadoop的客户端API,使得开发者能够在Java应用程序中实现对HDFS的读写和其他文件管理操作。 HDFS的IO操作API主要包括以下关键类和接口: 1. **FileSystem**: 这是所有文件系统操作的基础接口,包括...

    web中进行HDFS文件系统操作的demo

    HDFS的核心API提供了一组接口,允许应用程序读写文件系统。 在Web中操作HDFS,我们需要一个中间层来连接HDFS和Web客户端。这个中间层通常是一个服务器端的应用程序,例如这个demo中的jsp应用。它通过Java的Hadoop ...

    【IT十八掌徐培成】Hadoop第03天-03.hdfs FileSystem API.zip

    在这个"【IT十八掌徐培成】Hadoop第03天-03.hdfs FileSystem API.zip"压缩包中,他主要探讨了Hadoop的分布式文件系统(HDFS)的FileSystem API,这是Hadoop编程中的重要部分。 HDFS是Hadoop的核心组件,设计为高度...

    基于HDFS+FTP的文件存储与迁移实验代码.zip

    在本实验中,我们将探讨如何利用Hadoop的分布式文件系统(HDFS)和FTP协议进行文件的存储与迁移。这个"基于HDFS+FTP的文件存储与迁移实验代码.zip"包含了一个名为"HDFS_FTP_ForMyProject-master"的项目源码,这为...

    上传文件到HDFS

    总之,使用Hadoop的Java API上传文件到HDFS是一个相对简单的过程,主要涉及配置、文件系统的获取、目录检查以及数据的读写操作。理解这些概念和步骤对于任何处理Hadoop相关任务的开发人员都至关重要。

    HDFS文件系统

    3. **客户端(Client)**:用于与HDFS交互,提供API让用户进行文件的创建、删除、重命名等操作,同时也负责将文件分割成块,并上传到DataNode。 #### 三、HDFS文件系统的数据读写 HDFS设计之初就考虑到了大规模数据...

    JavaWeb操作hadoop2.6 HDFS,从页面上传,下载,列表展示的demo

    例如,`FileSystem`类用于打开、关闭和管理文件系统,`FSDataInputStream`和`FSDataOutputStream`分别用于读写文件。 2. **文件上传**:在SpringMVC中,我们可以使用`@RequestParam`注解捕获HTTP请求中的文件,然后...

Global site tag (gtag.js) - Google Analytics