附加到文件而不在HDFS中关闭它

时间:2018-03-08 18:32:17

标签: java hadoop append hdfs hdf

我试图在HDFS中添加一些文本,但事实证明我必须在每次追加后关闭输出流fin_a.close()。有没有什么方法可以在不关闭它的情况下附加到文件中?

try{
       Path filenamePath = new Path(appId + "_" + "file.txt");
       FSDataOutputStream fin_a = null;
       FSDataOutputStream fin_c = null;
       FileSystem fs = null;
       for(String st : list){
           fs = FileSystem.newInstance(config);
           if(fs.exists(filenamePath)){
             fin_a = fs.append(filenamePath);
             fin_a.writeUTF(st + "\n"));
             fin_a.close();
           } else {
                fin_c = fs.create(filenamePath);
                fin_c.writeUTF(st + "\n"));
                fin_c.close();
             }
       }
       fs.close();
   } catch (IOException e) {
           }

如果那不可能,有没有人知道如何连接list中的所有文本并写入文件一次?

0 个答案:

没有答案