您的位置:首页 > 运维架构

Hadoop学习笔记———《读、写HDFS文件》

2015-12-24 11:12 651 查看
读取HDFS上的文件

/**
* Created by MJ on 15/12/06.
*
* @use 读取HDFS上的指定文件的内容并返回
*
* @param filePath 待写入的HDFS文件路径
* @return String 文件的内容
* @exception Exception 异常返回null
*/
public String readHdfsFile(String filePath) throws Exception {
FileSystem fileSystem = null;
BufferedReader bufferedReader = null;
try {
String result = "";
Configuration conf = new Configuration();
fileSystem = FileSystem.get(conf);
FSDataInputStream fs = fileSystem.open(new Path(filePath));
bufferedReader = new BufferedReader(new InputStreamReader(fs));
String lineString;
while (null != (lineString = bufferedReader.readLine())) {
result += lineString;
}
return result;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != bufferedReader) {
bufferedReader.close();
}
if (null != fileSystem) {
fileSystem.close();
}
}
return null;
}


写入HDFS文件

/**
* Created by MJ on 15/12/06.
*
* @use 将text内容写入到HDFS上的指定文件
*
* @param filePath 待写入的HDFS文件路径
* @param text 待写入的内容
* @exception
*/
public void writeHdfsFile(String filePath, String text) throws Exception {
FileSystem fileSystem = null;
BufferedWriter bufferedWriter = null;
try {
Configuration conf = new Configuration();
fileSystem = FileSystem.get(conf);
FSDataOutputStream fs = fileSystem.create(new Path(filePath));
bufferedWriter = new BufferedWriter(new OutputStreamWriter(fs));
bufferedWriter.write(text + "\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != bufferedWriter) {
bufferedWriter.flush();
bufferedWriter.close();
}
if (null != fileSystem) {
fileSystem.close();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: