• java_hdfs之读写文件


    package hdfsTest.answer.hdfs;
    
    import java.io.IOException;
    import java.net.URI;
    //import java.net.URLDecoder;
    
    
    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;
    
    public class HDFSTest {
    
        public static void main(String[] args) throws IOException {
            
            System.out.println("execute start!!!");
            
            String file = "hdfs://hadoop1:9000/linjm/hdfsTest.txt";
            String str = "hello world 你好 HA Welcome!!!
     Java.
    ";
            
            HDFSTest t = new HDFSTest();
            t.writeFile(file, str);
            t.readFile(file);
            
            System.out.println("execute end!!!");
        }
        
        
        public void readFile(String file) throws IOException {
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(URI.create(file), conf);
            FSDataInputStream hdfsIS = fs.open(new Path(file));
            
            byte[] ioBuffer = new byte[1024];
            int readLen = hdfsIS.read(ioBuffer);
            while (readLen != -1) {
                System.out.write(ioBuffer, 0, readLen);
                readLen = hdfsIS.read(ioBuffer);
            }
            hdfsIS.close();
            fs.close();
        }
        
        
        public void writeFile(String file, String str) throws IOException {
            Configuration conf = new Configuration();
            FileSystem fs = FileSystem.get(URI.create(file), conf);
            System.out.println("路径是否存在:" + fs.exists(new Path(file)));
            FSDataOutputStream hdfsOS = fs.create(new Path(file));
    //        hdfsOS.writeChars(URLDecoder.decode(str, "UTF-8"));
            hdfsOS.write(str.getBytes(), 0, str.getBytes().length);
            hdfsOS.close();
            fs.close();
        }
        
    }
  • 相关阅读:
    数据库
    计算机基础知识系列
    《大话数据结构》参考
    数据结构与算法系列
    python cookbook
    Python教程 廖雪峰
    Python入门学习系列
    认识 React——声明式,高效且灵活的用于构建用户界面的 JavaScript 库
    线程---同步(synchronized)
    线程---插队和礼让执行(join和yield)
  • 原文地址:https://www.cnblogs.com/JimLy-BUG/p/5192364.html
Copyright © 2020-2023  润新知