⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 questionfromcfg.java

📁 java编写的桌面考试系统.含所有源码.
💻 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 + -