import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;/** ** Title:ChangeNumber *
** Description:10W个数字,5个一组的切割为3个一组,运行时间3秒。 *
** Location:Frostburg *
* * @author: Eric.Chen * @date:2017年9月19日上午10:57:26 */public class ChangeNumber { public static void main(String[] args) throws IOException { // FileReader 读取文本文件 ChangeNumber re = new ChangeNumber(); FileReader fr = new FileReader("F:\\number.txt"); String str = ""; for (int i = 0; i < 10000; i++) { // 循环次数按数字个数定 char len1 = (char)fr.read();// str += len1; } fr.close(); String t1 = str; String finalNumber = re.cutNumber(t1);// 调用切割函数,返回切割后的数字 // System.out.println(finalNumber); // 将结果写到另一个文本文件中 FileWriter fw = new FileWriter("F:\\new.txt"); char[] charArray = finalNumber.toCharArray();// 将切割好的字符串转为字符数组 for (int i = 0; i < charArray.length; i++) { fw.write(charArray[i]);// 每次写入一个到指定文本 fw.flush();// 刷新流 } fw.close();// 关闭流 } public String cutNumber(String str)// 切割字符串,一次切3个 { String str1 = str.replaceAll(" ", "");// 调用方法将字符串中所有的空格都替换 StringBuffer sb = new StringBuffer(); for (int i = 0; i < str1.length() - 3; i += 3) { String sub = str1.substring(i, i + 3);// 切割 sb.append(sub);// 连接 sb.append(" ");// 加空格隔开 } String str3 = sb.toString();// 转化成完整的字符串 return str3; }}