所以我有String数组
String[] faculties = new String[21];
我需要在.txt文件中填写看起来像
的院系名称数学& CS;第一专业;第一个计划;等
数学& CS;第二专业;第一个计划;等
数学& CS;第二专业;第二个计划;等
物理;第一专业;第一个计划;等
物理;第一专业;第二个计划;等
我使用下一个代码来获取这些名称
FileReader input = new FileReader("faculties1.txt");
BufferedReader bufRead = new BufferedReader(input);
String myLine;
int f = 0;
while((myLine = bufRead.readLine())!= null){
String[] arr = myLine.split(";");
if(f == 0){
faculties[f] = arr[0];
f++;
}
else{
if(!faculties[f-1].trim().equals(arr[0].trim())){
faculties[f] = arr[0];
f++;
}
}
}
但是当我尝试检查我的阵列时
for(int i = 0; i < f; i++){
System.out.println(faculties[i]);
}
控制台说我
数学&amp; CS
数学&amp; CS
物理
我不明白为什么Java将“Math&amp; CS”第二次放入我的阵列。
答案 0 :(得分:1)
我试过这个工作正常并且输出会按照您的预期返回,无论如何您需要抛出异常。
ls -al ~/.ssh
根据我可以,
文本文件中拼写错误的字符。使用不同的文本编辑器而不是Windows记事本进行检查。
<强>更新强>
添加此答案后,我看到您的问题已解决您的上一条评论。
我正在添加此评论,因为如果有人没有看到您的评论,这将对他们有所帮助。
我在我的项目中使用UTF-8 .txt 来查看控制台中的西里尔符号,但当我将.txt更改为ANSII 控制台时说我数学&amp; CS物理*