通过hadoopAPI访问文件

/**

* 通过Hadoop api访问

@throws IOException

*/

@Test

public void readFileByAPI() throws IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

byte[] bytes = new byte[1024];

int len = -1;

ByteArrayOutputStream baos = new ByteArrayOutputStream();

while((len = fis.read(bytes))!=-1){

baos.write(bytes, 0, len);

}

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();

}

第二种方式:

/**

* 通过hadoop api访问

@throws IOException

*/

@Test

public void readFileByAPI2() throws IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

ByteArrayOutputStream baos = new ByteArrayOutputStream();

IOUtils.copyBytes(fis, baos, 1024);

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();

}

时间: 2024-07-30 20:26:11

通过hadoopAPI访问文件的相关文章

【分享】利用Apache的Htaccess Files命令限制访问文件类型,Files正则

如果你在你的模板文件夹中有很多PSD HTML模板,那么用接下来这个htaccess文件可以保护限制访问: 文件D:\WebSite\ZBPHP.COM\www\Tpl\.htaccess 全部源码如下: <Files ~ "\.(html?|tpl|psd|zip|rar)$"> Order Allow,Deny Deny from all </Files> [分享]利用Apache的Htaccess Files命令限制访问文件类型,Files正则,布布扣,b

vue-devtools安装以后,勾选了“允许访问文件网址”之后还是无法使用

勾选了"允许访问文件网址",还是无法使用: Vue.js is detected on this page. Devtools inspection is not available because it's in production mode or explicitly disabled by the author 在vue-devtools的github中有这样一句说明: If the page uses a production/minified build of Vue.js

随机访问文件RandomAccessFile 与 内存映射文件MappedByteBuffer

一.RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系

Java核心类库-IO-随机访问文件(RandomAccessFile)

随机访问文件:表示可以在该文件任何位置读取数据. public class RandomAccessFileDemo { public static void main(String[] args) throws Exception { File f = new File("raf.txt"); //write(f); read(f); } private static void read(File f) throws Exception { //r表示只读 RandomAccessF

Yii2:避免文件路径暴漏,代理访问文件

制作背景:公司要做第三方文件管理系统,客户有时候需要直接访问文件,但是我们又不想暴露文件路径,才有这代理访问 基本功能介绍:读取txt文档.读取图片,如果有需要,可以通过插件读取doc.pdf文档, http://www.yii2.com/uploads/temp/read.bmp是我的真实路径 控制器 <?php /** * Created by PhpStorm. * User: Administrator * Date: 2016/11/24 0024 * Time: 14:38 */ n

C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)

今天用代码删除FTP服务器上的目录时候,报错:远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件). 习惯性的google,不外乎以下几点: 1.URL路径不对,看看有没有多加空格,或者大小写问题 2.权限是否足 3.需要反复连接的时候,如GetFileList,需要递归获得所有文件,keepAlive则设成false,一个查询请求完了后就关闭. 照做后问题依旧,很苦恼! 然后在FTP上建立了一个空目录,删除之,竟然能删除了.... 所以,找到原因:删除目录,该目录下不能

允许访问文件网址 chrome插件markdown preview plus

装完这个插件后进把本地文件的地址输到地址栏,结果就是不能解释md文件.始终没注意到在扩展程序管理里面,这个插件的还有个选项“允许访问文件网址”,尼玛,这是怎么翻译的呀.这个选项是说要不要解释本地的文件.....看了一下 markdown preview的说明:1. Install extension from webstore (creates no new UI) 2. Check "Allow access to file URLs" in chrome://extensions

Linux系统编程之访问文件夹及其文件属性

1. 文件夹操作:opendir, readdir, closedir 2. 文件属性:lstat 3. 实现功能:获取指定文件夹下所有的文件(使用递归),因此就能计算所有文件大小之类的啦... 代码示例如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <errno.h> #include <sys/stat

Microsoft Office Excel 不能访问文件

Microsoft Office Excel 不能访问文件“QUOTE5.xls”. 可能的原因有: 1 文件名称或路径不存在.2 文件正被其他程序使用.3 您正要保存的工作簿与当前打开的工作簿同名. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Runtime.InteropServices.COMException: Microsoft Office Excel 不能访问文件“D: