java - StringTokenizer 错误:标记化行完成后出现 NoSuchelementException
问题描述
当我从键盘输入标记器一行时,它没有问题。但是,我试图通过一个名称在两个单词之间有空格的文件行来提供我的输入。那是我收到 NoSuchelementException 错误的时候。我不确定是否需要关闭文件?但该文件有更多信息需要阅读。感谢您花时间阅读我的问题:)
这是代码:
System.out.println("Enter your first and last name");
line = sc.nextLine();
System.out.println(line);
StringTokenizer lineTok = new StringTokenizer(line);
first = (String) lineTok.nextToken();
last = (String) lineTok.nextToken();
解决方案
这对我来说可以。
package tryouts;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;
public class StringTokenizerTest {
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new FileInputStream("/usr/projects/tryouts/src/tryouts/test.txt"));
String line = sc.nextLine();
System.out.println(line);
StringTokenizer lineTok = new StringTokenizer(line);
String first = (String) lineTok.nextToken();
System.out.println(first);
String last = (String) lineTok.nextToken();
System.out.println(last);
sc.close();
}
}
在文件夹“/usr/projects/tryouts/src/tryouts/”中创建一个名为“test.txt”的文件,其中一行内容为“first second third Fourth”,并打印第一和第二。
推荐阅读
- java - 在 Windows 中引导多个应用程序
- javascript - Excel js API - 调用 Range.Select() 时使单元格出现
- amazon-web-services - 从 AWS 服务发布到 AWS IoT Core 主题
- firebase - 同一firebase项目中不同应用的不同身份验证集
- python - ModuleNotFoundError:在虚拟环境中运行服务器时没有名为“django”的模块
- spring - Spring security + JWT 403 禁止错误
- firebase - 停止在缓存中保存 Flutter Web Firebase 托管
- kubernetes - Knative 中的服务编排
- postgresql - Postgres查询需要很长时间
- amazon-web-services - Redshift Cluster Resize [磁盘空间不足]