zoukankan      html  css  js  c++  java
  • 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();
        }
        
    }
  • 相关阅读:
    Sqli-labs less 36
    python3操作mysql数据库增删改查
    python3连接MySQL数据库
    修改(python) mysql 数据库 使其可以支持插入中文
    十九 Django框架,发送邮件
    十八 Django框架,生成二维码
    十七 Django框架,文件上传
    十六 Django框架,信号
    十五 Django框架,缓存
    十四 Django框架,中间件
  • 原文地址:https://www.cnblogs.com/JimLy-BUG/p/5192364.html
Copyright © 2011-2022 走看看