Java实现小说分割器

其实是一个非常简单的Java小程序,其实就是利用了JavaIO和字符读取的处理。
我将它打包成了jar可以在Windows环境下直接运行(需要配置好java环境)。

其实现的功能如下:

  • 读取运行目录下的txt目录下的txt文件
  • 处理后将在运行目录下创建目录novel,并根据txt的文件名创建二级文件夹,将分割后的文件放入其中。
  • 支持在txt文件夹下放入多个txt文件进行处理。
    下面是源代码:
package cn.zm;

import java.io.*;

public class DivideNovel {
    public static void main(String[] args) throws Exception {
        //获取运行时路径,通常是jar包所在目录
        String path = System.getProperty("user.dir");
        System.out.println(path);
        File file = new File(path+"/txt/");
        File[] files = file.listFiles();
        //获取当前系统桌面路径,并在该路径创建novel文件夹,用来存放结果
        File rsPathRoot = new File(path+"/novel");
        //新建根路径novel
        if (!rsPathRoot.exists()){
            boolean mkdir = rsPathRoot.mkdir();
            if (mkdir){
                System.out.println(rsPathRoot.getPath()+"创建成功!");
            }
        }
        //获取该路径下的每个文件
        for (File filename : files) {
            readerLine(filename, rsPathRoot);
        }
    }

    private static void readerLine(File file, File rsPathRoot) throws IOException {
        InputStream rs = new FileInputStream(file);
        String name = file.getName().split("\\.")[0];
        System.out.println(name+"分割开始!");
        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++");
        BufferedReader br = new BufferedReader(new InputStreamReader(rs));
        PrintWriter writer = null;
        String line = "";
        int countLine = 0;
        File rsPath = new File(rsPathRoot.getPath()+"/"+name);
        if (!rsPath.exists()){
            boolean mkdir = rsPath.mkdir();
            if (mkdir){
                System.out.println(rsPath+"创建成功!");
            }
        }
        while ((line = br.readLine())!=null) {
            if (countLine % 500 == 0) {//此处的500是读取500行的意思,即每500行做一个新文件
                if (writer != null) {
                    writer.flush();
                    writer.close();
                }
                String filename = name + (countLine / 500);
                writer = new PrintWriter(new File(rsPath+"/"+filename + ".txt"));
                //System.out.println(filename+".txt"+"已经完成");
            }

            writer.println(line);
            ++countLine;
        }

        if (writer != null) {
            writer.flush();
            writer.close();
        }
        System.out.println(name + "--分割完成!");
        System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++");
        System.out.println();
        System.out.println();
    }
}

附jar下载链接

复制这段内容后打开百度网盘手机App,操作更方便哦
链接:https://pan.baidu.com/s/13TbFULYK6bEIqpgaJp6NEw
提取码:ecky

  • 注:jar包本身只有几kb大小,压缩包中有两部小说,以供测试。

jar包使用方法

  1. win+R键打开CMD命令

在这里插入图片描述

  1. 切换到程序目录

在这里插入图片描述

  1. 输入命令执行jar包,即可完成分割

命令

  1. 查看jar包所在目录

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值