给文件内容换行

/**
     * 对给定的文件进行换行的处理
     * @param fromFile 原始的文件名称
     * @param toFile 换行后的文件名称
     */
    public void formatFile(String fromFile, String toFile)
    {
        try
        {
            // 生成读文件的对象
            FileReader fr = new FileReader(fromFile);
            BufferedReader bf = new BufferedReader(fr);

            // 生产写文件的对象
            FileWriter fw = new FileWriter(toFile);
            BufferedWriter bw = new BufferedWriter(fw);

            // 读取原始文件的第一行
            String str = bf.readLine();
            while (null != str)
            {
                System.out.println(str);
                // 写文件
                bw.write(format(str, 55));
                // 读取下一行
                str = bf.readLine();
            }
            // 关闭写对象
            bw.close();
            fw.close();
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }

    /**
     * 对原始文件的每一行进行格式化,如果字符串超过了设定的长度,进行截取换行
     * 
     * @param str
     *            原始的字符串
     * @param length
     *            设定的每一行的最长长度
     * @return 格式化后的字符串
     */
    public String format(String str, Integer length)
    {
        StringBuilder sb = new StringBuilder();
        // 对字符串头尾进行加工
        String temp = "  " + str.trim() + "\n";
        if (temp.length() > length)
        {
            while (temp.length() > length)
            {
                // 循环截取拼接字符串
                sb.append(temp.substring(0, length)).append("\n");
                temp = temp.substring(length, temp.length());
            }

        }

        // 拼接最后的字符串
        sb.append(temp);

        return sb.toString();
    }

 

你可能感兴趣的:(给文件内容换行)