我有以下代码:
FileSystem fs = FileSystem.get(context.getConfiguration());
Path filePath2 = Path.mergePaths(outputPath, new Path( "/SomeFile"));
BufferedWriter writer2 = new BufferedWriter(new OutputStreamWriter(fs.create(filePath2,true)));
writer2.write("Key: " + key.toString() + "\nValue: " + values.iterator().next().getSensCol().toString());
writer2.close();
我将hadoop库用于其中一些类。在我执行它之后,我看到文件被创建了,但是里面什么都没有,你知道为什么吗?
2条答案
按热度按时间2lpgd9681#
没有足够的信息进行正确的诊断,但您的代码看起来是正确的。。。除了(也许)那条路。在linux系统上(至少)普通用户不能将文件写入“/”目录。
所以,我可以提出几个可能的解释:
正在写入文件,但不写入正在查看的目录。
文件打开失败(或写入失败),但应用程序正在挤压异常。。。在一些你没给我们看的代码里。
啊!看起来你在用
org.apache.hadoop.fs.FileSystem
! (这个java.nio.file
的版本FileSystem
类没有get
方法。)我不认为这改变了我的答案,除了关于能够写入“/”目录的东西。这对于hadoop fs来说是允许的。
vzgqcmou2#
使用
FileWriter
以及BufferedWriter
.我希望我帮了忙。
祝你今天愉快。:)