URI与Path的的分析
来源:互联网 发布:免费下载农村淘宝app 编辑:程序博客网 时间:2024/05/20 11:26
看到别人的文档有句话一直不能理解于是手动在实践中总结答案
文档是这样说的:
- /**
- * 在某些情况设置URLStreamHandlerFactory的方式不一定会生效.
- * 在这种情况下,需要用FileSystem来打开一个文件的输入流,
- * 文件的位置是用Hadoop Path呈现在Hadoop中的,与java.io中的不一样
- * */
代码一:
- public class URLCat {
- static{
- URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
- }
- /**
- * IOUtil是个工具类,可以用来在finally从句中关闭流,
- * 也可以用来拷贝数据到输出流中.
- * copyByte方法的四个参数代表的含义分别是:
- * 拷贝的来源,去处,刀背的字节数以及在拷贝完成之后是否关闭流
- * */
- public static void main(String[] args) {
- InputStream in = null;
- try {
- in = new URL(args[0]).openStream();
- //
- IOUtils.copyBytes(in, System.out, 4096, false);
- } catch (IOException e) {
- IOUtils.closeStream(in);
- }
- }
- }
代码二:
- public class FileSystemCat {
- /**
- * 在某些情况设置URLStreamHandlerFactory的方式不一定会生效.
- * 在这种情况下,需要用FileSystem来打开一个文件的输入流,
- * 文件的位置是用Hadoop Path呈现在Hadoop中的,与java.io中的不一样
- * */
- public static void main(String[] args) throws IOException {
- String uri = args[0];
- Configuration conf = new Configuration();
- FileSystem fs = FileSystem.get(URI.create(uri), conf);
- InputStream in = null;
- in = fs.open(new Path(uri));
- IOUtils.copyBytes(in, System.out, 4090, true);
- }
- }
我开始尝试给他们都输入相同的路径: hdfs://localhost:9000/user/admin/test.txt //这个是给main函数设参的路径(怎么设置不用我说了吧)
结果都能运行出来.
然后我又把路径修改了下,/user/admin/test.txt ,这个形式在URI中报错,在Path中却依旧可以运行.这样可以理解成Path自动完成了hadoop的协议.
0 0
- URI与Path的的分析
- URI与Path的的分析
- Android的Uri与Path的区别
- 图片uri与path的相互转换
- Uri类使用的理论基础--Uri结构分析与
- 文件File path与content:// Uri的相互转换
- 文件File path与content:// Uri的相互转换
- 【重头学习Android】关于path与URI的转换
- Android File Uri的转换path出错
- 图片Path转换为Uri的方法
- sip URI与sips URI的区别
- sip uri 与sips uri 的区别
- URI与Uri的简单认识
- Android中文件File path与content:// Uri的相互转换
- URL与URI的区别
- URL与URI的区别
- URI与URL的区别
- URL与URI的区别
- Oracle11gR2_使用GoldenGate配置单向同步
- 内网机器做数据备份机,外网主机直接rsync的实现
- VMWare低版本无法打开高版本创建的虚拟机解决方案
- 让QTreeWidget中单元格的大小自适应内容的长度
- oracle的shutdown与startup
- URI与Path的的分析
- rmq模板
- Google C++ Style Guide 阅读笔记 3
- Centos中搭建J2EE环境--jdk-tomcat-eclipse-mysql
- 游戏基础算法 屏幕适配算法
- JavaScript语法基础详解
- spring
- 仿265层移动上移、下移,支持IE、FF
- 在 Shell 中使用 Sublime 打开文件