java 小说系统_java 实现小说管理系统

这是一个Java实现的小说管理系统,包括上传小说、查看所有小说、删除小说、下载小说和分页阅读等功能。系统使用一个列表存储小说,提供序列化和反序列化来持久化数据,支持分页阅读时跳转页面,并能将小说文件从用户指定路径复制到预设目录。
摘要由CSDN通过智能技术生成

需求:实现下面功能

欢迎进入小说管理系统

请选择菜单

1.上传小说

2.查看所有小说

3.删除小说

4.下载小说

5.阅读小说

阅读小说时要实现分页功能,每页显示100个字符且有以下选项

1.首页 2.上一页 3.下一页 4.尾页 5.退出阅读

提示:

创建一个小说类(小说编号,小说名,作者,上传后的路径);用一个list来存储当前的小说数量;固定一个用户目录用来存储用户上传的小说;阅读功能可以用一个变量来标记当前页;

思路:

上传小说,就把用户指定的路径下的文件通过流复制到我们事先设定好的一个文件夹中

查看所有小说时,直接遍历list即可

通过遍历查找对应id的小说对象,然后从list中删除该对象,最后把该对象中存储的小说路径下的小说删除

下载小说可以从小说对象的路径中复制到用户指定目录

阅读分页需要知道小说字符个数,然后/100来编号,最后使用skip()函数来达到目的

给list存档,每次选择系统功能前都先要反序列化出来list;每次执行完上传,删除功能后都应该序列化list;

入口函数:Main函数

public class Main {

public static void main(String[] args) throws IOException, ClassNotFoundException {

while(true){

System.out.println("欢迎进入小说管理系统");

System.out.println("请选择菜单");

System.out.println("1.上传小说");

System.out.println("2.查看所有小说");

System.out.println("3.删除小说");

System.out.println("4.下载小说");

System.out.println("5.阅读小说");

//1.反序列化

JQNovelTool.deserialize();

String input = new Scanner(System.in).nextLine();

if (!input.matches("\\d")){

System.out.println("请输入对应选项");

continue;

}

int sel = Integer.parseInt(input);

switch(sel){

case 1:{

if(JQNovelTool.upload()){

System.out.println("上传成功");

//序列化

JQNovelTool.serialize();

}

else

System.out.println("上传失败");

}

break;

case 2:{

System.out.println("已上传的小说");

JQNovelTool.showNovels();

}

break;

case 3:{

System.out.println("请输入您要删除的小说编号");

if (JQNovelTool.remove()){

System.out.println("删除成功");

//序列化

JQNovelTool.serialize();

}else{

System.out.println("没有对应小说编号");

}

}

break;

case 4:{

System.out.println("请输入您要下载的小说编号");

if(JQNovelTool.download())

System.out.println("下载成功");

else

System.out.println("没有对应小说编号或目录");

}

break;

case 5:{

System.out.println("请输入您要阅读的小说编号");

if (!JQNovelTool.read())

System.out.println("没有对应小说编号");

}

break;

default:

System.out.println("暂时没有对应的功能,敬请期待");

break;

}

}

}

}

工具类:JQNovelTool

public class JQNovelT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值