java - 从原始 txt 文件中读取字符串
问题描述
我有一个带有分隔符的原始 txt 文件,用于分割文本。要接收文本,我使用扫描仪:
int textid = getResources().getIdentifier(word, null, this.getPackageName());
Scanner ch = new Scanner(getResources().openRawResource(textid));
打开的文件是正确的。当我开始接收信息时,我需要阅读它,直到得到“$”。
while (ch.hasNext()) {
str = ch.next();
boolean flag = (str.equals("$"));
while (!(str.equals("$"))) {
str = ch.next();
}
问题是当 str 等于“$”(通过断点检查)标志等于“false”时。但是,如果我初始化 String m = "$" 并检查flag = m.equals("$")
标志等于 "true"。也尝试使用str != "$"
,但没有帮助。我的猜测是,scanner.next() 返回另一种类型,但它似乎很奇怪。
解决方案
当您的代码读取 a"$"
时,它将中断内部循环。当它从外部循环开始时,您ch.next()
再次调用,它会覆盖之前"$"
的str
. flag
这可能是设置为的原因false
。"$"
只有当它是文件中的第一件事时,它才会检测到。
此外,您可能想再次检查ch.hasNext()
内部循环。
推荐阅读
- entity-framework - 如何解决此实体框架验证异常?
- html - 将表单和按钮 html 水平居中
- electron - 预连接资源提示在电子中不起作用,但在 Chrome 中工作正常
- azureservicebus - 在 Azure 服务总线规则中解析 JSON
- visual-studio - 当我单击 Web 应用程序中的文本框时,IIS Express 突然停止
- hadoop - 没有带有 hdfs 的此类文件或目录
- django - Django - 在两个不同的模型上扩展用户模型
- java - 当我使用 getFilesDir() 存储内容时,包含数据的文件夹在哪里?
- java - 尝试添加到本地初始化数组列表时出现 NullPointerException
- android - 材料组件目录应用程序在哪里?