版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/u010026901/article/details/26587251

eclipse快捷键alt+shift+m将选中的代码封装成方法;alt+shift+l将选中的代码加入相应类型放回參数

当调用一个陌生方法时,进入源代码不停的向里循环,当找不到return相似方法的时候。能够看到最原始的方法

package com.kane.hdfs;

import java.io.InputStream;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

public class Test {
//hadoop文件系统下的根文件夹下的hello文件
public static final String HDFS_PATH="hdfs://centos:9000/hello";
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// 告诉java能够读hdfs协议
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
final URL url=new URL(HDFS_PATH);

final InputStream in=url.openStream();
/**
* 參数依次是输入流。输出流。缓冲大小,是否关闭流
*/
IOUtils.copyBytes(in, System.out, 1024,true);
}

}

package com.kane.hdfs;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class OpHDFS {
public static final String PATH="hdfs://centos:9000";
public static final String DIR_PATH="/kane";
public static final String FILE_PATH="/kane/needkane";
/**
* @param args
* @throws URISyntaxException 
* @throws IOException 
*/
public static void main(String[] args) throws Exception {
final FileSystem fs=FileSystem.get(new URI(PATH),new Configuration());
//创建文件夹
//makeDir(fs);
//上传文件
//uploadFile(fs);
//下载文件
//downLoad(fs);
//删除文件
deleteFile(fs);

}
private static void deleteFile(final FileSystem fs) throws IOException {
//第二个參数是否递归,假设是文件夹就递归删除,当然文件也没关系
fs.delete(new Path(FILE_PATH), true);
}
public static void makeDir(FileSystem fs) throws IOException {
fs.mkdirs(new Path(DIR_PATH));
}

public static void uploadFile(FileSystem fs) throws Exception {

//我们查看源代码的时候,后来直到filesystem,又由于是抽象类,仅仅好打断点获取哪个类实现了

final FSDataOutputStream out=fs.create(new Path(FILE_PATH));
//这里的in是本地文件的输入流
final FileInputStream in=new FileInputStream("D:/wordorid");
//參数输入流,输出流,缓冲大小。是否关闭流
IOUtils.copyBytes(in, out,1024,true );
}
public static void downLoad(FileSystem fs) throws Exception {
//从hdfs读取文件
final FSDataInputStream in=fs.open(new Path(FILE_PATH));
IOUtils.copyBytes(in, System.out, 1024,true);
}

}

解决的方法改动hadoop根文件夹权限 hadoop fs -chmod 777 /

fs.create(new Path(FILE_PATH)),ctrl+左击查看源代码一直到最里面,结果发现时抽象类

抽象类通过debug查找源代码

hadoop学习;hdfs操作;执行抛出权限异常: Permission denied;api查看源代码方法;源代码不停的向里循环;抽象类通过debug查找源代码的更多相关文章

  1. JavaWeb项目中获取对Oracle操作时抛出的异常错误码

    最近在项目中碰到了这么一个需求,一个JavaWeb项目,数据库用的是Oracle.业务上有一个对一张表的操作功能,当时设置了两个字段联合的唯一约束.由于前断没有对重复字段的校验,需要在插入时如果碰到唯 ...

  2. 捕获Java线程池执行任务抛出的异常

    捕获Java线程池执行任务抛出的异常Java中线程执行的任务接口java.lang.Runnable 要求不抛出Checked异常, public interface Runnable { publi ...

  3. druid抛出的异常------javax.management.InstanceAlreadyExistsException引发的一系列探索

    最近项目中有个定时任务的需求,定时检查mysql数据与etcd数据的一致性,具体实现细节就不说了,今天要说的就是实现过程中遇到了druid抛出的异常,以及解决的过程 异常 异常详细信息 五月 05, ...

  4. 应该抛出什么异常?不应该抛出什么异常?(.NET/C#)

    我在 .NET/C# 建议的异常处理原则 中描述了如何 catch 异常以及重新 throw.然而何时应该 throw 异常,以及应该 throw 什么异常呢? 究竟是谁错了? 代码中从上到下从里到外 ...

  5. Spring boot 前后台分离项目 怎么处理spring security 抛出的异常

    最近在开发一个项目 前后台分离的 使用 spring boot + spring security + jwt 实现用户登录权限控制等操作.但是 在用户登录的时候,怎么处理spring  securi ...

  6. 外部无法捕捉Realm的doGetAuthenticationInfo方法抛出的异常

    shiro权限框架,用户登录方法的subject.login(token)会进入自定义的UserNamePasswordRealm类的doGetAuthenticationInfo身份验证方法 通常情 ...

  7. Python面向对象之异常捕获(一)-----抛出一个异常

    大部分的异常都继承自Exception这个类(而这个类有继承自BaseException这个类) 常见的异常 ValueError TypeError IndexError 抛出一个异常 下面这个类的 ...

  8. springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。为了区别不同的异常通常根据异常类型自定义异常类,这里我们创建一个自定义系统异常,如果controller、service、dao抛出此类异常说明是系统预期处理的异常信息。

    springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 1.1 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeEx ...

  9. “全栈2019”Java异常第十一章:重写方法时只能抛出父类异常子集

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

随机推荐

  1. “App.exe 以附加有调试器,但没有将该调试器配置为调试此未经处理的异常。”

    目前不清楚原因,但是将项目文件放到C盘就可以正常调试运行. 记录一下

  2. java SE 入门之控制语句&方法&递归算法(第五篇)

    一 控制语句(选择结构) 在学习控制语句之前,我们要先明确两件事情,什么是顺序结构(也叫做顺序执行),什么是选择结构 (分支结构或分支执行或选择执行),我们的代码执行是分为先后顺序的,就像我们之前写的 ...

  3. C# 委托、匿名方法、扩展方法

    一.委托的使用: 详细委托和事件解释请看另一篇:http://www.cnblogs.com/Liyuting/p/6760706.html 二.匿名方法 三.扩展方法

  4. 修改MVC视图默认搜索规则(IViewEngine)

    前几天我自己在写一个系统,写到后台管理系统的时候,我突然有个想法就是:想在区域视图下新建文件,单独处理后台一些业务:Area/AdminManager/View/Content/Index.cshtm ...

  5. [日常] nginx反代websocket

    去年的事 , 随便记记 ============================================================= 2017年11月6日 记录: 获取包的选择状态: d ...

  6. [C#]INI文件控制类

    INI文件常用于保存各类设置或本地化文本,大概格式如下: [Section] key=value 然而.NET框架似乎并没有提供一个实用的工具来操作它,或许是因为MS想让我们都使用Settings类控 ...

  7. input 控件监听回车确认按钮。

    前端开发的同学捕捉回车按键经常会用到 if(event.keyCode == 13){ console.log("点击了回车按键");} 但是在微信上面,我们一般会用到指令 bin ...

  8. hdu 2030 统计汉字个数

    汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  9. Hibernate的多对多实例

    在完成了一对多的实例的基础上,继续做多对多实例.例子是老师和学生,一个老师教多个学生,一个学生也有多个老师. 文档结构如图:

  10. sql判断某个字段是否为空

    判断sql某个字段是否为NULL public function dataNull($id){ $sql = 'SELECT * FROM `vvt_company_funcs_user` WHERE ...