读取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();
}
}
}