/**
* 对给定的文件进行换行的处理
* @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();
}