📄 questionfromcfg.java
字号:
package exam.dao;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import exam.model.Question;
public class QuestionFromCfg {
private Question[] questions;
private String fileName;
private int count;
private int rowsCount;
public QuestionFromCfg(String subject) {
this.fileName = new SubjectFromCfg().getFileName(subject);
questions = new Question[1];
count = 0;
rowsCount = 0;
readFromCfg();
}
private void readFromCfg() {
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
try {
fis = new FileInputStream(new File(fileName));
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
String str = null;
String[] s = new String[6];
while ((str = br.readLine()) != null) {
if (str.contains("<T>")) {
s[5] = (char) (rowsCount % 5 + 64) + "";
str = str.replaceFirst("<T>", "");
}
s[rowsCount % 5] = str;
if (questions.length == count)
extendData();
if (rowsCount % 5 == 4) {
questions[count++] = new Question(count, s[0], s[1], s[2],
s[3], s[4], s[5]);
}
rowsCount++;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (isr != null) {
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private void extendData() {
Question[] temp = new Question[questions.length + 1];
System.arraycopy(questions, 0, temp, 0, questions.length);
questions = temp;
System.gc();
}
public Question[] getQuestions() {
return questions;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -