私は基本的に単純なテストジェネレーターを作ろうとしています。テキスト ファイルを解析し、レコードをデータベースに追加するボタンが必要です。質問と回答はテキストファイルです。私は例をネットで検索してきましたが、自分の状況に一致するものを見つけることができません。
テキスト ファイルには、「~ End of Syllabus」で始まる行まで無視したいヘッダー情報があります。「~シラバスの最後」で問題の始まりを示してほしい。その後の数行で、7 番目の文字の位置に「(」がある行を探します。これを質問番号の行であることを示したいと思います。質問番号の行は、「(」が 7 番目の文字の位置にあるという点で独特です。新しい質問の開始を示す指標としてそれを使用したい. 質問番号の行では、最初の3文字「T1A」は質問グループです. T1A* 01 *の最後の部分は質問番号です.そのグループ。
ご覧のとおり、実際の質問テキスト行と回答行も取得する必要があります。また、通常、4 つの Answer 行の後には、「~~」で示される Question Terminator があります。テキスト ファイル内のすべての質問に対してこれを行う方法がわかりません。それらを配列文字列に追加し続けますか? ファイルからこの情報にアクセスしてデータベースに追加するにはどうすればよいでしょうか。これは私にとって非常に紛らわしく、私の状況をカバーする例を見ることで、これがどのように機能するかを学ぶことができると感じています. ここに、私が話しているテキスト ファイルへのリンクがあります: http://pastebin.com/3U3uwLHN
コード:
public static void main(String args[]) {
String endOfSyllabus = "~ End of Syllabus";
Path objPath = Paths.get("2014HamTechnician.txt");
String[] restOfTextFile = null;
if (Files.exists(objPath)){
File objFile = objPath.toFile();
try(BufferedReader in = new BufferedReader(
new FileReader(objFile))){
String line = in.readLine();
List<String> linesFile = new LinkedList<>();
while(line != null){
linesFile.add(line);
line = in.readLine();
}
System.out.println(linesFile);
}
catch(IOException e){
System.out.println(e);
}
}
else{
System.out.println(
objPath.toAbsolutePath() + " doesn't exist");
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new A19015_Form().setVisible(true);
}
});
}