扫描仪只读取文件名,不读取其他内容

2023-12-03

我正在尝试实现一个基本的词法分析器。我现在陷入了文件解析的困境。

public ArrayList<Token> ParseFile () {

    int lineIndex = 0;
    Scanner scanner = new Scanner(this.fileName);

    while (scanner.hasNextLine()) {

        lineIndex++;
        String line = scanner.nextLine();

        if (line.equals(""))
        continue;

        String[] split = line.split("\\s"); 
        for (String s : split) {
        if (s.equals("") || s.equals("\\s*") || s.equals("\t"))
        continue;
        Token token = new Token(s, lineIndex);
        parsedFile.add(token);

        }
    }
    scanner.close();
    return this.parsedFile;
}

这是我的填充物,名为“p++.ppp”

#include<iostream>

using namespace std ;

int a ;
int b ;

int main ( ) {

    cin >> a ;
    cin >> b ;

    while ( a != b ) {
        if ( a > b )
            a = a - b ;
        if ( b > a )
            b = b - a ;
    }

    cout << b ;

    return 0 ;
}

当我解析文件时,我得到:Error, token: p++.ppp on line: 1 is not valid但 p++.ppp 是文件名!

另外,当我调试时,它会读取文件名,然后在scanner.hasNextLine()它就退出了。我缺少什么?


您误解了 APIScanner。从文档中Scanner(String)构造函数:

构造一个新的 Scanner,它生成从指定字符串扫描的值。

参数:
source- 要扫描的字符串

它不是一个文件名——它只是一个字符串。

您应该使用Scanner(File)相反,构造函数 - 或者更好的是,Scanner(File, String)构造函数也指定编码。例如:

try (Scanner scanner = new Scanner(new File(this.fileName), "UTF_8")) {
    ...
}

(请注意使用 try-with-resources 语句,以便扫描仪自动关闭。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

扫描仪只读取文件名,不读取其他内容 的相关文章

随机推荐

  • 触发器中的 pragmaautonomous_transaction

    我在一个表上编写了一个触发器 该触发器根据条件从其他表中删除数据 触发器具有 pragmaautonomous transaction 并且触发器按预期工作 但是 我确实想知道将来是否会出现任何问题 比如说数据是否由多个用户 源同时插入等等
  • 防止 D3 中的文本剪切(Javascript 图表)

    我正在 D3 中绘制饼图 但文 本剪辑本身遇到问题 这是我的绘图函数 pie function config var width config width 840 height config height 520 radius Math m
  • jQuery mobile:URL 查询字符串不改变

    我正在使用 jQuery Mobile 并遇到了一些 对我来说 奇怪的行为 我有一堆链接 每个链接都指向同一个 jQM 页面 otherpage 但 URL 查询字符串具有不同的值 例如 otherpage q foo otherpage
  • 如何检测 RichTextBox 中的多行粘贴

    目前我正在开发一个简单的语法荧光笔 但有几个问题 你能帮我一下吗 我有一个类库 其中有一个组件类 一切都在 VB NET 中 这只是一个文件 所以你可以在这里看到它https gist github com 2366507 第 92 行有
  • php hook 核心函数

    我想在执行 或替换标准核心函数之前挂钩 例如我要阻止这两者include and require访问任何脚本 有什么方法可以在没有任何额外的 dll 的情况下实现它吗 或者另一个案例is array myarr 我会勾住array myar
  • Swing 重叠组件

    我在框架中有两个 AWT 组件 面板 A 和面板 B 我希望面板 A 的大小适合框架的高度宽度 并在调整框架大小时保持该大小 但我希望面板 B 与 A 重叠 B 将处于固定位置 0 0 以使其更容易 具有固定的高度和宽度 我不确定需要什么样
  • 实例化一个派生自 MonoBehaviour 的类[重复]

    这个问题在这里已经有答案了 有没有办法实例化从 MonoBehaviour 派生的类 例如下面的示例 而不会收到警告 您正在尝试使用 new 关键字创建 MonoBehaviour 这是不允许的 MonoBehaviours 只能使用 Ad
  • 如何删除/切换元素上的悬停类(单击时翻译)而无需再次移动鼠标?

    如果您单击但不移动鼠标 您将看到按钮的颜色保持为红色 我想要完成的是在您单击并且不移动鼠标后它仍然会删除 切换 hover class jsFiddle 上的示例 function var Btn button Btn hover func
  • CosmosDB + 分组依据

    我需要使用 GROUP BY 条款Azure 数据资源管理器但我认为是不支持的 有人有解决或避免分组的想法吗 此致 最后 Azure Cosmos DB 目前支持GROUP BY在 NET SDK 3 3 或更高版本中 目前尚不支持其他语言
  • Twilio webhook 短信响应格式

    我在我的应用程序中使用 Twilio 并且我有 SMS Webhooks 其中我的 SMS 号码配置了 URL 一切正常 除了 Twilio 在每个请求的日志中向我发送错误 我认为我的应用程序的响应格式不正确 但我在文档中找不到如何使用 J
  • 扩展函数原型

    我希望能够扩展javascript中的函数原型 也就是说 向所有函数添加一个函数 目的是将其转换为一种格式 以便在另一种语言 即 ruby 它只能通过字符串进行通信 在这种特定设置中 之间进行交换 我已经有了一个系统 因此我可以通过定义一个
  • 在 iPhone SDK 中获取我所在位置的海拔高度(距海平面的高度)

    我正在尝试在我的应用程序中获取我所在位置的海拔高度 但每次我尝试altitude的财产CLLocation我得到的对象0 00结果 我用谷歌搜索我的查询 得到了类似的问题here and here 该链接表示 如果我通过 wifi 或手机信
  • 如何使用 JavaScript 打开带有打印对话框的文件

    我想使用 JavaScript 打开一个 Word 文档 并为该打开的文档窗口打开打印对话框 这是我的代码 window open http www tizaq com window print 它可以工作 但是打印对话框是为当前窗口打开的
  • 有什么方法可以使用 4 个点而不是 3 个点来绘制图像(透视扭曲)

    Graphics DrawImage 很好地支持绘制平行四边形 Bitmap destImage new Bitmap srcImage Width srcImage Height using Graphics gr new Graphic
  • Google App Engine app.yaml PHP 脚本参数

    在我的 GAE PHP app yaml 中 我尝试这样做 application myapp version 1 runtime php api version 1 threadsafe yes handlers url sitemap
  • 如何在 tkinter 中使无声异常变得更响亮?

    如果我从终端运行以下代码 我会在终端中收到一条有用的错误消息 import Tkinter as tk master tk Tk def callback raise UserWarning Exception b tk Button ma
  • bind_param() 仅对用户输入的值有用还是全部?

    我一直在阅读 SQL 注入 但找不到这个问题的答案 我明白如果我有这样的查询 prepare SELECT id foo bar FROM table WHERE username 那我应该使用bind param s username 以
  • 在哪里保存 Firefox 插件的文件?

    我正在开发一个 Firefox 插件 它可以生成网站的缩略图以供插件使用 到目前为止 我一直使用简单存储通过图像数据 URL 来存储它们 这样做有两个问题 存储空间有限 并且发送很长的字符串似乎不是最佳选择 我假设浏览器已经优化了加载图像文
  • Inno Setup ExtractTemporaryFile 导致向导冻结

    我制作了自定义页面来根据用户的选择来管理特定的 redist 工具安装 如果用户想要或不安装这些工具 这些工具会链接到用户选中的复选框 然后出现一个页面 向用户显示每个工具的安装进度 我在这里遇到的问题是进度页面仅在第一次时显示Extrac
  • 扫描仪只读取文件名,不读取其他内容

    我正在尝试实现一个基本的词法分析器 我现在陷入了文件解析的困境 public ArrayList