当前位置: 首页 > 知识库问答 >
问题:

为什么我无法获取文件名

董永宁
2023-03-14

输入是一个名为Wiki micro的文本文件。txt。。。字数计算程序运行正常。。我需要的是修改它

  public static class Map extends Mapper<LongWritable ,  Text ,  Text ,  IntWritable > {
  private final static IntWritable one  = new IntWritable( 1);
  private Text word  = new Text();

  private static final Pattern WORD_BOUNDARY = Pattern .compile("\\s*\\b\\s*");

  public void map( LongWritable offset,  Text lineText,  Context context)
    throws  IOException,  InterruptedException {

     String line  = lineText.toString();
     Text currentWord  = new Text();
     InputSplit input_split = context.getInputSplit();
     String FName = ((FileSplit) input_split).getPath().getName();

     for ( String word  : WORD_BOUNDARY .split(line)) {
        if (word.isEmpty()) {
           continue;
        }
        currentWord  = new Text(word);
        context.write(currentWord, one);
        context.write(new Text(FName), one);
     }
  }

}

共有1个答案

管翼
2023-03-14

不确定,但是如果你替换最后三行会发生什么:

        currentWord  = new Text(word);
        context.write(currentWord, one);
        context.write(new Text(FName), one);

具有

        currentWord  = new Text(word + "####" + FName);
        context.write(currentWord, one);
        context.write(new Text(FName), one);
 类似资料:
  • 问题内容: 我将代码简化为我可以做的最简单的express-js应用程序: 我的目录如下所示: 但是,当我访问时,出现以下错误: 我正在使用和。我究竟做错了什么? 问题答案: 尝试。 要在您的请求URL中使用: 查看此页面上的示例:

  • 问题内容: Cobra和Viper中的文档使我感到困惑。我做了,然后在项目目录中做了。我有一个名为,这里是命令中的init函数。 我的配置文件如下所示: 当我打电话给我的时候 当我打电话时看到了… 因此它正在使用配置文件,但是似乎没有人正在读取它。也许我误解了眼镜蛇和毒蛇的工作方式。有任何想法吗? 问题答案: 要结合和,首先使用Cobra定义标志: 与Viper绑定: 并通过Viper方法获取变量

  • 我收到的错误: 这是我的代码 我尝试了几种不同的方法来读取此文件,但我无法弄清楚为什么会发生这种情况。我使用的扩展名.rtf,.txt,认为这可能是文件本身的问题。该文件仅包含以下内容:

  • 我有一个FileSystemWatcher,它跟踪是否创建了新文件。如果是的话,我有一个方法可以读取文件并做一些事情 在下面的代码中,我得到了一个FileNotFoundException,但路径/文件确实存在!我已经检查了路径、文件名等。不知道为什么找不到文件<同样在调试模式下,我验证了path变量的路径是否正确,但当我强制它继续时,它会以某种方式运行,但不幸的是,在发布模式下它会停止。。 我得

  • 问题内容: 我的目录设置如下: 我的主文件是这样的: 我的应用程序是这样的: 问题是当我运行应用程序时,无法加载CSS文件。 问题答案: 由于.css文件是静态文件,因此您必须将它们提供给客户端。但是,您不能将静态文件用作快速中间件。将以下中间件添加到您的express应用中,然后将文件夹移动到目录下(您应该创建一个) 因此您的最终目录结构应如下所示 并且不要忘记需要模块