两个相同的字符串不相等(不是指针/引用错误)

2023-11-25

我从文件中读取了一行:

KatalogObrazków 1 32

意味着我应该在以下位置查找数据:

C:\Users\NAME_OF_THE_USER/KatalogObrazków

所以我就这么做了,但可怕的事情正在发生。在splitLine[0]我有一句话"KatalogObrazków"但随后计算机说"KatalogObrazków".equals(splitLine[0])为 false,周围没有空白splitLine[0]分割线后左侧。请看下面的代码。

    BufferedReader br = new BufferedReader(new FileReader(path));
    String line;
    String[] splitLine;
    if ((line = br.readLine()) != null) {
        splitLine = line.split(" ");
        System.out.println(splitLine[0]);//1st line of output
        System.out.println("KatalogObrazków".equals(splitLine[0]));//these are not EQUAL!!!!!??? WHY?
        imageDirectoryPath = System.getProperty("user.home")+"/" + splitLine[0];
        System.out.println(new File(imageDirectoryPath).exists());
        delay = Integer.parseInt(splitLine[1]);
        fontSize = Integer.parseInt(splitLine[2]);
    }
    br.close();

Output:

KatalogObrazków
false
false
C:\Users\R/KatalogObrazków

EDIT:

System.out.println();
            for (char c : splitLine[0].toCharArray())
                System.out.print((int) c + " ");
            System.out.println();
            for (char c : "KatalogObrazków".toCharArray())
                System.out.print((int) c + " ");
            System.out.println();

GOT ME:

65279 75 97 116 97 108 111 103 79 98 114 97 122 107 243 119 
75 97 116 97 108 111 103 79 98 114 97 122 107 243 119 

您可能在文件开头遇到过 UTF-BOM。

http://en.wikipedia.org/wiki/Byte_order_mark

它是不可见的,因为大多数编辑器都会隐藏它。很邪恶吧?

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

两个相同的字符串不相等(不是指针/引用错误) 的相关文章

随机推荐

  • NSDateComponents 组件:fromDate 和 Time Zones

    我有一个方法 通过将 NSDate 分解为 NSDateComponents 来提取小时和秒组件 我的代码如下 unsigned hourAndMinuteFlags NSHourCalendarUnit NSMinuteCalendarU
  • 如何调用同一个 msbuild 目标两次?

    我有以下 msbuild 脚本
  • 是否有具有标准化输出的 numpy 自相关函数?

    我遵循了在另一篇文章中定义自相关函数的建议 def autocorr x result np correlate x x mode full maxcorr np argmax result print maximum result max
  • 如何在 docker 容器内使用 sudo?

    通常 docker容器使用用户运行root 我想使用不同的用户 使用 docker 的 USER 指令没有问题 但该用户应该能够使用sudo容器内 缺少此命令 这是一个用于此目的的简单 Dockerfile FROM ubuntu 12 0
  • 对受保护嵌套类的友元访问

    我有以下 C 代码 class A protected struct Nested int x class B public A friend class C class C void m1 B Nested n or A Nested 使
  • 我刚刚在 Eclipse 中创建了小型 android 项目,我应该将哪些文件添加到版本控制中?

    我不知道哪些文件应该为 eclipse 中创建的新 android 项目进行版本控制 谁能告诉我 我应该添加什么 几乎构建项目所需的一切 包括 project and classpath 是的 您应该明确添加它们 前提是 classpath
  • 错误:MEX 文件无效,找不到指定的模块

    我已经在我的笔记本电脑上成功编译了 Mex 文件 但是当我运行它时 它说Invalid mex file c newfolder filename mexw32 The specified module could not be found
  • ruby 中的同一程序如何接受用户输入以及命令行参数

    我的 ruby 脚本从命令行参数获取某些输入 它检查是否缺少任何命令行参数 然后提示用户输入 但我无法使用 gets 从用户那里获取输入 示例代码 test rb name ARGV each do a if a include n nam
  • ASP.NET:如何处理并行请求

    让我们想象一下网站上有 2 个页面 快速页面和慢速页面 对慢速页面的请求执行 1 分钟 对快速页面的请求执行 5 秒 在我的整个开发生涯中 我认为如果第一个启动的请求很慢 他将对数据库进行 同步 调用 等待答案 如果在此期间完成对快速页面的
  • Flutter:应该只有一项具有 [DropdownButton] 的值

    我正在尝试创建一个下拉按钮在颤振中 我得到了列表来自我的数据库然后我将列表传递给我的dropdownButton 一切正常数据按预期显示 但是当我从中选择一个元素时我收到此错误 There should be exactly one ite
  • SpecFlow 与数据库模式的集成测试

    我正在尝试设置 SpecFlow 进行集成 验收测试 我们的产品在 Sqlite 中有一个支持数据库 虽然不是很大 但这实际上被证明是一个有点棘手的问题 如何为测试建立数据库模型 我想知道其他人使用什么模式来对支持数据库进行集成 验收测试
  • 用于单独 HTML 页面的 GWT 多模块?

    我对 GWT 很陌生 打算使用 GWT 开发用户管理应用程序的 UI 我计划使用使用 Spring Hibernate 创建的现有模块 我想出了如何将 GWT 与 Spring 集成 但我不知道如何设计布局 我想要两页 用户注册页面 想要在
  • 发生验证错误时 Symfony2 表单字段未更新

    这是我的表单类型 class TestFormType extends AbstractType public function buildForm FormBuilderInterface builder array options bu
  • 插入排序比冒泡排序更好?

    我正在为考试做复习 想知道在相同的平均情况复杂度为 O N 2 的情况下 插入排序比冒泡排序表现更好 我确实找到了一些相关文章 但我无法理解它们 有人介意用简单的方式解释一下吗 冒泡排序的优点在于检测已排序列表的速度 冒泡排序最佳案例场景
  • shapefile 和 matplotlib:绘制 shapefile 坐标的多边形集合

    我正在尝试使用 python 中的 matplotlib 在世界地图上绘制国家 地区的填充多边形 I ve got a shapefile with country boundary coordinates of every country
  • ListView 和带有倒计时器的项目

    我的 Listview 有问题 我想为所有 ListView 的项目设置一个倒计时器 并且我已经在 google 上搜索了解决方案 但它无法正常工作 问题是 ListView 重用 回收 视图 并且我总是得到错误的项目时间 我在视图中使用了
  • 使用 JAXB 2.1 将多个模式编译到不同的包中

    我有一个 CommonTypes xsd 我使用 xs include 将其包含在我的所有其他 XSD 中 我明白了 Multiple
  • 蓝鸟中的嵌套承诺

    我试图弄清楚如何在蓝鸟库中正确使用承诺 我在代码中遇到了一些嵌套的承诺 我注意到在 bluebird 文档中它写道 如果您使用完整的 bluebird API 产品 您几乎永远不需要首先求助于嵌套承诺 还有许多其他关于承诺被滥用的博客文章嵌
  • 用于 SMS 的 ContentObserver [重复]

    这个问题在这里已经有答案了 我正在尝试提取发送的短信 我知道没有用于此目的的 BroadcastReciver 所以我发现我可以使用 ContentObserver 来监听数据库中的更改 我怎样才能实现这个 我的目标是仅获取发送的新短信并通
  • 两个相同的字符串不相等(不是指针/引用错误)

    我从文件中读取了一行 KatalogObrazk w 1 32 意味着我应该在以下位置查找数据 C Users NAME OF THE USER KatalogObrazk w 所以我就这么做了 但可怕的事情正在发生 在splitLine