小说类
package com.novel.source;
import java.io.Serializable;
import com.novel.login.AuthorInt;
public class NovelSource implements Serializable{
<span style="white-space:pre"> </span>private Integer number;
<span style="white-space:pre"> </span>private String name; //小说名
<span style="white-space:pre"> </span>private String Author;//小说作者
<span style="white-space:pre"> </span>private String publish;//小说出版社
<span style="white-space:pre"> </span>private String classification;//小说分类
<span style="white-space:pre"> </span>private String showtell;//小说介绍
<span style="white-space:pre"> </span>private String address;//小说地址
<span style="white-space:pre"> </span>//重写name的方法
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public int hashCode() {
<span style="white-space:pre"> </span>final int prime = 31;
<span style="white-space:pre"> </span>int result = 1;
<span style="white-space:pre"> </span>result = prime * result + ((name == null) ? 0 : name.hashCode());
<span style="white-space:pre"> </span>return result;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public boolean equals(Object obj) {
<span style="white-space:pre"> </span>if (this == obj)
<span style="white-space:pre"> </span>return true;
<span style="white-space:pre"> </span>if (obj == null)
<span style="white-space:pre"> </span>return false;
<span style="white-space:pre"> </span>if (getClass() != obj.getClass())
<span style="white-space:pre"> </span>return false;
<span style="white-space:pre"> </span>NovelSource other = (NovelSource) obj;
<span style="white-space:pre"> </span>if (name == null) {
<span style="white-space:pre"> </span>if (other.name != null)
<span style="white-space:pre"> </span>return false;
<span style="white-space:pre"> </span>} else if (!name.equals(other.name))
<span style="white-space:pre"> </span>return false;
<span style="white-space:pre"> </span>return true;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>public String toString() {
<span style="white-space:pre"> </span>return "NovelSource [number=" + number + ", name=" + name
<span style="white-space:pre"> </span>+ ", classification=" + classification + ", Author=" + Author
<span style="white-space:pre"> </span>+ ", publish=" + publish + ", showtell=" + showtell
<span style="white-space:pre"> </span>+ ", address=" + address + "]";
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public Integer getNumber() {
<span style="white-space:pre"> </span>return number;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setNumber(Integer number) {
<span style="white-space:pre"> </span>this.number = number;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getName() {
<span style="white-space:pre"> </span>return name;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setName(String name) {
<span style="white-space:pre"> </span>this.name = name;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getClassification() {
<span style="white-space:pre"> </span>return classification;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setClassification(String classification) {
<span style="white-space:pre"> </span>this.classification = classification;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getAuthor() {
<span style="white-space:pre"> </span>return Author;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setAuthor(String author) {
<span style="white-space:pre"> </span>Author = author;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getPublish() {
<span style="white-space:pre"> </span>return publish;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setPublish(String publish) {
<span style="white-space:pre"> </span>this.publish = publish;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getShowtell() {
<span style="white-space:pre"> </span>return showtell;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setShowtell(String showtell) {
<span style="white-space:pre"> </span>this.showtell = showtell;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public String getAddress() {
<span style="white-space:pre"> </span>return address;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>public void setAddress(String address) {
<span style="white-space:pre"> </span>this.address = address;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>/**
<span style="white-space:pre"> </span> * @param number
<span style="white-space:pre"> </span> * @param name
<span style="white-space:pre"> </span> * @param classification
<span style="white-space:pre"> </span> * @param author
<span style="white-space:pre"> </span> * @param publish
<span style="white-space:pre"> </span> * @param showtell
<span style="white-space:pre"> </span> * @param address
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>public NovelSource(Integer number, String name, String classification,
<span style="white-space:pre"> </span>String author, String publish, String showtell, String address) {
<span style="white-space:pre"> </span>super();
<span style="white-space:pre"> </span>this.number = number;
<span style="white-space:pre"> </span>this.name = name;
<span style="white-space:pre"> </span>this.classification = classification;
<span style="white-space:pre"> </span>Author = author;
<span style="white-space:pre"> </span>this.publish = publish;
<span style="white-space:pre"> </span>this.showtell = showtell;
<span style="white-space:pre"> </span>this.address = address;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>/**
<span style="white-space:pre"> </span> *
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>public NovelSource() {
<span style="white-space:pre"> </span>super();
<span style="white-space:pre"> </span>}
}
上传功能:
package com.novel.source;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.novel.login.MyObjectOutputStream;
public class UPLoaderNovel {
public static void main(String[] args) {
UPLoaderNovel.novelUp();
/*List<NovelSource> ls=UPLoaderNovel.novelReader1();
UPLoaderNovel.readList (ls);
NovelSource nsup=UPLoaderNovel.upLoader();
UPLoaderNovel.novelWriter(nsup);*/
}
public static void novelUp(){
while(true){
NovelSource nsup=UPLoaderNovel.upLoader();//开始上传小说
Integer isWriterInfile=UPLoaderNovel.novelWriter(nsup);//写入小说
List<NovelSource> ls=UPLoaderNovel.novelReader1();//读取小说,返回链表
UPLoaderNovel.readList (ls);//读取链表,返回小说信息
if(isWriterInfile.equals(-1)){
System.out.println("上传 失败");
}else{
System.out.println("上传 成功");
break;
}
}
}
//读取小说列表文件中的所有小说文件信息
public static void readList(List<NovelSource> listn){
if(listn==null){
return ;
}
for (int i = 0; i < listn.size(); i++) {
System.out.println(listn.get(i));
}
}
public static List<NovelSource> novelReader1(){
InputStream is=null;
ObjectInputStream ois=null;
File f1= new File("D:\\testio\\a\\novelInfo.txt");
if(!f1.exists()&&f1.getParentFile().getPath()==null){
System.out.println("文件不存在");
}
List<NovelSource> nse=null;
try {
is= new FileInputStream(f1);
Object obj=null;
try{
ois=new ObjectInputStream(is);
obj=ois.readObject();
nse=(List<NovelSource>) obj;
return nse;
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}catch(EOFException e){
return null;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
is.close();
ois.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return nse;
}
//查看链表中的书,决定是否添加
public static Integer chashu(List<NovelSource> listn,NovelSource nsup){
int i=0;
while( i<listn.size()){
i++;
if(listn.get(i-1).getName().equals(nsup.getName())){
i=1000000;
break;
}
}
return i;
}
//将小说的基本信息输入到文件中
public static Integer novelWriter(NovelSource nsup){
Integer IsWriteInFile=0;
OutputStream os =null;
InputStream is=null;
ObjectOutputStream oos=null;
ObjectInputStream ios=null;
File f1= new File("D:\\testio\\a\\novelInfo.txt");
if(!f1.exists()){
f1.getParentFile().mkdirs();
}
Object obj=null;
try {
//读取过程
is= new FileInputStream(f1);
ios = new ObjectInputStream(is);
// ios.readObject();
obj=ios.readObject();
System.out.println("***");
List<NovelSource> listnt=new ArrayList<NovelSource>();
@SuppressWarnings("unchecked")
List<NovelSource> listn=(List<NovelSource>) obj;
// while(true){
for (int i = 0; i < listn.size(); i++) {
listnt.add(listn.get(i));
}
Integer isup=UPLoaderNovel.chashu(listn,nsup);
if(isup!=1000000){
listnt.add(nsup);
IsWriteInFile=1;
System.out.println("cgs");
}else if(isup==1000000){
IsWriteInFile=-1;
}
// }
os= new FileOutputStream(f1);
oos=new ObjectOutputStream(os);
oos.writeObject(listnt);
oos.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
List<NovelSource> listnt=new ArrayList<NovelSource>();
listnt.add(nsup);
try {
os= new FileOutputStream(f1);
oos=new ObjectOutputStream(os);
oos.writeObject(listnt);
oos.flush();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return null;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
is.close();
ios.close();
os.close();
oos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return IsWriteInFile;
}
//接收用户上传小说的基本信息
public static NovelSource upLoader(){
System.out.println("欢迎上传文件");
System.out.println("请输入小说名字:");
String novelName=""; //小说名
String novelAName="";//小说作者
String novelPName="";//小说出版社
String novelCName="";//小说类型
String novelTName="";//小说介绍
String novelADName="";//小说地址
BufferedReader bfName= new BufferedReader(new InputStreamReader(System.in));
try {
novelName=bfName.readLine();
if(novelName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("请输入作者名字:");
BufferedReader bAName= new BufferedReader(new InputStreamReader(System.in));
try {
novelAName=bAName.readLine();
if(novelAName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("请输入出版社名字:");
BufferedReader bPName= new BufferedReader(new InputStreamReader(System.in));
try {
novelPName=bPName.readLine();
if(novelPName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("请输入小说类型:");
BufferedReader bCName= new BufferedReader(new InputStreamReader(System.in));
try {
novelCName=bCName.readLine();
if(novelCName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("请输入小说所在路径(要包含文件名字和文件的后缀):");
BufferedReader bADName= new BufferedReader(new InputStreamReader(System.in));
try {
novelADName=bADName.readLine();
if(novelADName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("请输入小说介绍:");
BufferedReader bTName= new BufferedReader(new InputStreamReader(System.in));
try {
novelTName=bTName.readLine();
if(novelTName!=null){
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
NovelSource ns= new NovelSource();
ns.setName(novelName);
ns.setAuthor(novelAName);
ns.setPublish(novelPName);
ns.setClassification(novelCName);
ns.setShowtell(novelTName);
ns.setAddress(novelADName);
//System.out.println(ns);
//System.out.println("小说上传成功");
return ns;
}
}