Hadoop api訪問 01讀取檔案練習
//編譯工具 eclipse
import java.net.MalformedURLException;
import java.net.URL;
public class FangWenDemo {
static{
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
/* //此步需要載入Hadoop 原始碼jar包 不做具體說明 作用讓Java識別hdfs協議 log4j也要匯入到src下
/**
* 通過java.net.URL類訪問讀取HDFS資料
* @throws Exception
* @throws IOException
*/
public static void main(String[] args) throws Exception {
URL _url = new URL("hdfs://msater:9000/wordcount/123.txt"); //新建一個url地址用於開啟檔案
InputStream in = _url.openStream(); //將這個檔案以流的方式開啟 並賦值到in中 到此時流中儲存的就是叢集中檔案的內容
ByteOutputStream out = new ByteOutputStream(); //新建一個輸出流
byte [] bb = new byte [1024]; //輸出流的write方法需要一個用於承載輸入流內容的容器 所以新建一個byte陣列 用於儲存流中的內容
out.write(bb); //到此時流中的內容已經完全到輸出流out中了
System.out.println(out.toString()); //將流中的內容使用tostring變成字串並打印出來
in.close(); //關流
out.close(); */
IOUtils.copyBytes(in, System.out, 4096,false); //io工具 四個引數分別是 輸入 輸出 快取大小 是否自動關流
IOUtils.closeStream(in);
}