📄 paperdaoimpbyweb.java
字号:
/**
*
*/
package exam.dao;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import exam.model.Paper;
import exam.model.Question;
/**
* @author 董晓炜
*
* Feb 13, 2009 10:54:54 AM
*/
public class PaperDaoImpByWeb implements PaperDao{
private Socket s;
public PaperDaoImpByWeb(Socket s){
this.s=s;
}
public Paper getPaper(String subject){//从服务器端读取试卷文件,在客户端进行解析,包装成一张试卷
PrintWriter pw=null;
BufferedReader br=null;
Paper p=null;
try {
pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream(),"UTF-8"));
pw.println("paper:"+subject);
pw.flush();
br=new BufferedReader(new InputStreamReader(s.getInputStream(),"UTF-8"));
String str=null;
List<String> sl=new ArrayList<String>();
List<Question> ql=new ArrayList<Question>();
do{ str=br.readLine();
if(str.equals("isStop"))return null;
if(str.equals("")){
Question q=new Question(sl);
ql.add(q);
sl.clear();
break;
}
if(str.equals("again"))continue;
if(str.equals("stop"))continue;
if("0123456789".indexOf(str.charAt(0))!=-1&&sl.size()!=0){
Question q=new Question(sl);
ql.add(q);
sl.clear();
}
sl.add(str);
}while(true);
p=new Paper(ql);
} catch (IOException e) {
if(s!=null){
try {
e.printStackTrace();
s.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
return p;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -