首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

hdfs 简略的api 读写文件

2012-06-27 
hdfs 简单的api 读写文件import java.io.BufferedReaderimport java.io.BufferedWriterimport java.io.F

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")

热点排行