私はUniの生徒を勉強していますので、この問題を解決するためにあなたの助けが必要です。 私はUG_StudentとGradStudentのstudent.txtファイルに以下のデータがあります。javaを使用してデータの混合を含むテキストファイルから値を区切ります。
Jane Jones;111999;11 First St, Unitown,2999;0401 444 444;4483;4;6;7
Peter Smith;111998;22 Second St, West,5999;999 777;B Sc;2000;4672;5;5;5
Jim Smith;111988;25 Third St, South,6001;0412 222 333;BESE;1998;4672;4;5;5
John William;334344;123 Fig St, Townville,5655;0404 333 333;4333;5;6;5
最初と最後の行は、この順序でデータを持っていると示しUG_Student:
Name;StudentID;Address; ContactNo;SubjectNo;Test1;Test2;Test3
第二、第三行目は、この順序でデータを持っていると示しGradStudent:
Name;StudentID;Address; ContactNo;PreviousDegree;GradYr;SubjectNo;Test1;Test2;Test3
I txtファイルにUG_StudentまたはGradStudentのいずれかが含まれている場合にのみ、JTextareaで読み取りおよび印刷できる次のコードがあります。
public void openFile()
{
try
{
input = new Scanner(new File("student.txt"));
input.useDelimiter(";");
}
catch (FileNotFoundException fileNotFoundException)
{
System.err.println("Error opening file.");
System.exit(1);
}
}
public String readFile()
{
Student ugStudent = new UGstudents();
Student gradStudent = new Gradstudents();
//int lineNumber = 1;
//System.out.printf("running...");
try
{
while (input.hasNext())
{
String name = ugStudent.name = input.next();
int studentID = ugStudent.studentID = input.nextInt();
String address = ugStudent.address = input.next();
int contactNo = ugStudent.contactNo = input.nextInt();
int subjectNo = ugStudent.subjectNo = input.nextInt() ;
int test1 = ugStudent.test1 = input.nextInt();
int test2= ugStudent.test2 = input.nextInt();
int test3= ugStudent.test3 = input.nextInt();
String checkGrade= ugStudent.checkGrade();
//System.out.println(name + studentID + address + contactNo + subjectNo + test1 + test2 + test3 + checkGrade);
resultColumn = ("Name\t Student Id\t Address\t\t Contact No\t Subject No\t Test 1\t Test 2\t Test 3\t Grade\n--------------------------------------------------------------------------------------------------------------------\n");
result+=(name+ "\t" + studentID + "\t " + address + "\t " + contactNo + "\t " + subjectNo + " \t" + test1 + "\t " + test2 + "\t " + test3 + "\t " + checkGrade);
}
}
catch (NoSuchElementException elementException)
{
System.err.println("File improperly formed.");
input.close();
System.exit(1);
}
catch (IllegalStateException stateException)
{
System.err.println("Error reading from file.");
System.exit(1);
}
return resultColumn +result;
}
public void closeFile()
{
if (input != null)
input.close();
}
}
ただし、指定されたテキストファイルには、上記のようなデータの混合が含まれている必要があります。私の質問は、そのテキストファイルからUG_StudentまたはGradStudentデータだけを読み込んで印刷する方法です。長い質問を申し訳ありませんが、これは私ができる最高です。
http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java – svarog
タグを慎重に選択してください。アプリの場合でも。 GUIを持っていれば、コードスニペットは、実際の問題にSwingと何も関係がないことを示唆しています。 –
訂正していただきありがとうございます。 –