java - 在 Java 中无法正确读取 Txt 文件
问题描述
我目前正在尝试读取包含 BscIT 的主题和音节列表信息的 txt 文件。但它在一行中只读取一个单词。我附上了终端中的输出。
这是我的代码
这是我创建的方法
class Course {
public void Level(){
System.out.println("Please Enter Your respective Levels and Subjects");
}
}
class BBA extends Course{
public void Level () {
try {
FileReader fileReader = new FileReader("BBA.txt");
Scanner scanner = new Scanner(fileReader);
int c;
while ((c = fileReader.read()) !=-1) {
System.out.println((char)c);
}
}
catch (IOException e){
System.out.println("Error");
}
}
}
class BscIT extends Course{
public void Level () {
try {
FileReader fileReader = new FileReader("BscIT.txt");
Scanner scanner = new Scanner(fileReader);
int c;
while ((c = fileReader.read()) !=-1) {
System.out.println((char)c);
}
}
catch (IOException e){
System.out.println("Error");
}
}
}
这里是主要方法
public class Marks {
public static void main(String[] args) throws FileNotFoundException {
Course course = new Course();
course.Level();
System.out.println("1.BBA\t 2.BscIT");
Scanner sr = new Scanner(System.in);
String choice1 = sr.nextLine();
while (!choice1.equals("1") && !choice1.equals("2")) {
System.out.println("Enter a Valid number of Selection you want");
choice1 = sr.nextLine();
}
if (choice1.equals("1")){
Course cr = new BBA();
cr.Level();
}
else {
Course cr1 = new BscIT();
cr1.Level();
}
}
}
解决方案
如果您想使用扫描仪,那么您的代码可能应该是这样的:
while (scanner.hasNextLine())
{
String line = scanner.nextLine();
System.out.println( line );
}
并且整行的文本将被一次性读取。
如果您不想一次读取整行,请阅读 Scanner API 以获取其他允许您读取数据的方法。
推荐阅读
- excel - 编写一个宏,用于在B列中搜索字符串值并获取多行的A列值
- python - 多个子流程需要很长时间才能完成
- javascript - 如何在网页中显示外部 html 页面 - 使用 javascript
- python - 在没有 python 中的所有样板的情况下从 QUiLoader 加载是否安全?
- go - 关闭频道的正确方法
- jquery - 更新 YouTube 频道徽标的 Aria-Label
- sms - Twilio SMS 消息传递 2 路
- java - 页面对象模型在运行我的测试时看到空指针异常?
- android - 单击下一个按钮时如何清除布局中的先前内容?
- php - 如何使用具有多个参数的 bind_param()