import java.io.*;
public class Trim
{
public static void main(String[] args) throws Exception
{
if(args == null || args.length == 0)
System.out.println("command format:java Trim inputFile outputFile");
BufferedReader in = new BufferedReader(new FileReader(args[0]), 4048);
BufferedWriter out = new BufferedWriter(new FileWriter(args[1]), 4048);
String line;
int n = 0;
String word = null;
while((line = in.readLine()) != null)
{
if(n == 0)
{
n = 1;
word = line;
int index = word.indexOf("///");
if(index == -1)
{
System.out.println("source file format error");
return;
}
word = word.substring(0, index);
}
else
{
n = 0;
save(out, word, line);
}
}
in.close();
out.close();
}
public static void save(BufferedWriter out, String word, String line) throws Exception
{
if(line.length() <= 4048)
{
out.write(word + "/// \n" + line + "\r\n");
return;
}
String subline;
int lineno = 1;
while(line.length() > 4048)
{
int n = 4048;
while(true)
{
if(-1 != ",.;!,。;!”’".indexOf(line.charAt(n)))
{
n --;
}
else
break;
}
if(-1 != "“‘".indexOf(line.charAt(n - 1)))
n --;
subline = line.substring(0, n);
line = line.substring(n);
out.write(word + lineno + " /// \n");
if(lineno > 1)
{
out.write("cont'd\n");
}
out.write(subline + "\r\n");
lineno ++;
}
out.write(word + lineno + " /// \ncont'd\n" + line + "\r\n");
}
}
写了个java程序,不知道有没有bug,因为没有可测试的文件,也不清楚是不是符合楼主的意思,呵呵,贴出来供大家参考修正。