资源描述
java课程设计小说阅读器
44
2020年4月19日
文档仅供参考
package xiaoshuoreader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 路径匹配 xpath persons/person/name
*
* @author Administrator
*
*/
public class DomReader {
public Document doc;
public DomReader() {
SAXReader reader = new SAXReader();
try {
doc = reader.read("info.xml");
} catch (DocumentException e) {
e.printStackTrace();
}
}
public String print(String s) throws Exception {
System.out.println(s);
String h="";
String t1=null;
String t2=null;
List list1 = doc.selectNodes("user/name");
List list2 = doc.selectNodes("user/password");
int g=s.indexOf(".");
int g1=s.indexOf("?");
if(g!=-1){
t1=s.substring(0,g);
t2=s.substring(g+1, s.length());
System.out.println(t1+" "+t2);
for(int i =0;i<list1.size();i++){
Element e1 = (Element) list1.get(i);
Element e2 = (Element) list2.get(i);
System.out.println(e1.getText());
System.out.println(e1.getText());
if(((e1.getText()).trim().equals(t1))&&((e2.getText()).trim().equals(t2)))
{
h="a";
return h;
}
}
}
if(g1!=-1)
{
t1=s.substring(0,g1);
t2=s.substring(g1+1, s.length());
// list1 = doc.selectNodes("user/name");
for(int i =0;i<list1.size();i++){
Element e1 = (Element) list1.get(i);
if((e1.getText()).trim().equals(t1))
{
h="b";return h;
}
}
Element root = doc.getRootElement();
List<Element> elements = root.elements();
for (Element e : elements) {
//
Element name = e.element("name");
name.setText("fdsffds");
Element password = e.element("password");
password.setText("dsa");
}
OutputStream out = new FileOutputStream(new File("info.xml"));
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
//开始输出
XMLWriter writer = new XMLWriter(out, format);
writer.write(doc);
h="a";
return h;
}
return h;
}
}
package xiaoshuoreader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import .ServerSocket;
import .Socket;
public class Server
{
public static void main(String[] args) throws Exception
{
ServerSocket server = new ServerSocket(8866);
System.out.println("服务端已建立,等待客户端连接!!!!!!");
Socket client = null;
BufferedReader input = null;
PrintStream out = null;
BufferedReader br = null;
client = server.accept(); // 接受到客户端的请求
br = new BufferedReader(new InputStreamReader(
client.getInputStream()));
String i=new DomReader().print(br.readLine());
// 输出流
System.out.println("服务端说:"+i);
out = new PrintStream(client.getOutputStream());
out.println(i);
//
// out = new PrintStream(client.getOutputStream());
// System.out.println("请输入:");
// String str = input.readLine();
out.close();
br.close();
client.close();
server.close();
}
}
package xiaoshuoreader;
public class Shuji
{
String xuhao;
String bookname;
String bookduoz;
String jianjie;
String dizhi;
public String getXuhao() {
return xuhao;
}
public void setXuhao(String xuhao) {
this.xuhao = xuhao;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getBookduoz() {
return bookduoz;
}
public void setBookduoz(String bookduoz) {
this.bookduoz = bookduoz;
}
public String getJianjie() {
return jianjie;
}
public void setJianjie(String jianjie) {
this.jianjie = jianjie;
}
public String getDizhi() {
return dizhi;
}
public void setDizhi(String dizhi) {
this.dizhi = dizhi;
}
@Override
public String toString() {
return "Shuji [xuhao=" + xuhao + ", bookname=" + bookname
+ ", bookduoz=" + bookduoz + ", jianjie=" + jianjie
+ ", dizhi=" + dizhi + "]";
}
}
package xiaoshuoreader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import .Socket;
import .UnknownHostException;
import java.util.Scanner;
public class Users
{
@SuppressWarnings("resource")
public static void main(String[] args) throws Exception {
Socket client = null;
BufferedReader br = null;
PrintStream out = null;
client = new Socket("localhost", 8866);
boolean s=true;
while(true){
System.out.println("欢迎使用在线迷你小说管理器!");
Scanner input1=new Scanner(System.in);
System.out.println("1.登录");
System.out.println("2.注册");
System.out.println("3.退出");
System.out.println("------------------------------");
System.out.println("请选择:");
int t=input1.nextInt();
switch(t)
{
case 1: while(s){
System.out.println("当前操作:用户登录!");
System.out.println("请输入用户名:");
String name=input1.next();
System.out.println("请输入密码:");
String password=input1.next();
// 得到输出流
out = new PrintStream(client.getOutputStream());
// input = new BufferedReader(new InputStreamReader(System.in));
// System.out.println("请输入:");
// String str = input.readLine();
out.println(name+"."+password);
br = new BufferedReader(new InputStreamReader(
client.getInputStream()));
if(br.readLine().equals("a"))
{
System.out.println("登录成功!");
Yuedu q=new Yuedu();
q.initial();
q.yemian1();
}
else
{
System.out.println("登录失败!");
s=true;
}
}
break;
case 2:
while(s)
{
System.out.println("当前操作,用户注册!");
System.out.println("请输入登录名:");
String name=input1.next();
System.out.println("请输入密码:");
String password=input1.next();
System.out.println("请再次输入密码:");
String password2=input1.next();
if(!(password).equals(password2))
{
System.out.println("密码输入错误!");
s=true;}
else
{
System.out.println("dfdsssssss");
out = new PrintStream(client.getOutputStream());
// input = new BufferedReader(new InputStreamReader(System.in));
// System.out.println("请输入:");
// String str = input.readLine();
out.println(name+"?"+password);
br = new BufferedReader(new InputStreamReader(
client.getInputStream()));
if(br.readLine().equals("a"))
{
System.out.println("注册成功!");s=false;
}
else
{
System.out.println("注册失败!!");
}
}
}
break;
case 3:
System.out.println("谢谢使用!");
System.exit(0);
}
out.close();
br.close();client.close();
}
}
}
package xiaoshuoreader;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.Reader;
import java.io.Writer;
import java.util.Scanner;
import DVD1.DVDSet;
public class Yuedu
{
Shuji[] ss=new Shuji[15];
Shuji[] mm=new Shuji[15];
Scanner input1=new Scanner(System.in);
public void initial()
{
ss[0]=new Shuji();
ss[0].bookname="天龙八部";
ss[0].xuhao="1";
ss[0].bookduoz="徐徐";
ss[0].jianjie="dasfda";
ss[0].dizhi="F:\\r\\天龙八部.txt";
ss[1]=new Shuji();
ss[1].bookname="西游记";
ss[1].xuhao="2";
ss[1].bookduoz="都徐";
ss[1].jianjie="cxzv xfda";
ss[1].dizhi="F:\\r\\西游记.txt";
mm[0]=new Shuji();
mm[0].bookname="很纯很暧昧";
mm[0].xuhao="1";
mm[0].bookduoz="徐徐";
mm[0].jianjie="fsd";
mm[0].dizhi="F:\\r\\很纯很暧昧.txt";
mm[1]=new Shuji();
mm[1].bookname="校花的贴身高手";
mm[1].xuhao="2";
mm[1].jianjie="fsdsa";
mm[1].bookduoz="都徐都是";
mm[1].dizhi="F:\\r\\校花的贴身高手.txt";
for(int i=2;i<ss.length;i++)
{
ss[i]=new Shuji();
mm[i]=new Shuji();
}
}
public void Xia(int h,int b) throws Exception
{
if(h==0)
{
yemian1();
}
else if(h==-1)
{
if(b==0){
System.out.println("请输入小说名称:");
String s1=input1.next();
System.out.println("序号:");
String s2=input1.next();
System.out.println("作者:");
String s3=input1.next();
System.out.println("简介:");
String s4=input1.next();
System.out.println("地址:");
String s5=input1.next();
for(int i=0;i<mm.length;i++)
{
if(ss[i].xuhao==null)
{
ss[i].xuhao=s2;
ss[i].bookname=s1;
ss[i].bookduoz=s3;
ss[i].dizhi=s5;
ss[i].jianjie=s4;
break;
}
}
}
if(b==1)
{
System.out.println("请输入小说名称:");
String s1=input1.next();
System.out.println("序号:");
String s2=input1.next();
System.out.println("作者:");
String s3=input1.next();
System.out.println("简介:");
String s4=input1.next();
System.out.println("地址:");
String s5=input1.next();
for(int i=0;i<mm.length;i++)
{
if(mm[i].xuhao==null)
{
mm[i].xuhao=s2;
mm[i].bookname=s1;
mm[i].bookduoz=s3;
mm[i].dizhi=s5;
mm[i].jianjie=s4;
break;
}
}}
//字节输入流
}
else if(h>0)
{
boolean m=true;
System.out.println("返回上一级:");
System.out.println("1.阅读");
System.out.println("2.下载:");
System.out.println("请选择:");
int we=input1.nextInt();
switch(we){
case 1:
File file =null;
if(b==0){
file = new File(ss[h-1].dizhi);}
if(b==1)
{
file = new File(mm[h-1
].dizhi);}
//字节输入流
Reader r=new FileReader(file);
BufferedReader s=new BufferedReader(r);
String str=null;
while((str=s.readLine())!=null)
{
if(str.trim().length()>0)
{
System.out.println(str);}
}
break;
case 2:
File file1 =null;
if(b==0){
file1 = new File(ss[h-1].dizhi);}
if(b==1)
{
file1 = new File(mm[h-1].dizhi);}
//字节输入流
Reader r1=new FileReader(file1);
BufferedReader s1=new BufferedReader(r1);
String str1=null;
File file2=new File("F:"+File.separator+"t"+File.separator+file1.getName());
while((str1=s1.readLine())!=null)
{
if(str1.trim().length()>0)
{
if(!file2.exists())
{
file2.createNewFile();
}
Writer writer = new FileWriter(file2, true);
BufferedWriter bw = new BufferedWriter(writer);
// bw.newLine();
bw.write("\r\n"+str1);
bw.flush();
bw.close();
}
}
System.out.println("下载后的文件 名是:"+file1.getName());
System.out.println("下载路径是:"+file2.getAbsolutePath());
System.out.println("文件下载结果为true");
break;
}
}
else
{
System.out.println("输入错误!");
}
}
public void yemian1() throws Exception {
boolean s=true;
while(true){
System.out.println("--------------------------------");
System.out.println("0.返回上一级菜单");
System.out.println("1.武侠");
System.out.println("2.言情");
System.out.println("------------------------------");
System.out.println("请选择:");
int t=input1.nextInt();
switch(t)
{
case 0: yemian1();
break;
case 1:
int i=0;
System.out.println("-----------------武侠小说列表-------------------");
System.out.println("序号 "+" 名称"+" 作者"+" 简介");
do{
System.out.println(ss[i].xuhao+" "+ss[i].bookname+" " +ss[i].bookduoz+" "+ss[i].jianjie);
i++;
}while(ss[i].xuhao!=null && i<15);
System.out.println("-----------------小说列表结束----------------------");
System.out.println("阅读和下载请选择文件序号,上传txt请输入-1,返回请输入0");
Scanner input =new Scanner(System.in);
int h=input.nextInt();
Xia(h,0);
break;
case 2:
int a=0;
System.out.println("-----------------武侠小说列表-------------------");
System.out.println("序号 "+" 名称"+" 作者"+" 简介");
do{
System.out.println(mm[a].xuhao+" "+mm[a].bookname+" " +mm[a].bookduoz+" "+mm[a].jianjie);
a++;
}while(mm[a].xuhao!=null && a<15);
System.out.println("-----------------小说列表结束----------------------");
System.out.println("阅读和下载请选择文件序号,上传txt请输入-1,返回请输入0");
Scanner input1 =new Scanner(System.in);
int h1=input1.nextInt();
Xia(h1,1);
break;
}
}}}
package xiaoshuoreader;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
展开阅读全文