0-9 最难数字序列生成

package cn.xxxxxx.tools;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

public class LuckNumber {
    
    public static StringBuffer sbfull=new StringBuffer();
    

    public static void main(String[] args) throws Exception {
        try {
            String str[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
            permutation(str, 0, str.length);
            FileOperation.writeTxtFile(sbfull.toString(), new File("D:\\sql1.txt"));
        } catch (Error e) {
            System.out.println("循环后,以占用内存:" + Runtime.getRuntime().totalMemory() / 1024 / 1024 + "M");
            System.out.println("捕获到的错误:" + e);
        }
    }

    static void swap(String[] str, int start, int end) {
        String tmep = str[start];
        str[start] = str[end];
        str[end] = tmep;
    }

   static void permutation(String[] str, int start, int end) throws Exception {

        if (start == end - 1) {
            StringBuffer sb=new StringBuffer();
            for (int i = 0; i < end; i++) {
                sb.append(str[i]);
                //System.out.print(str[i]);
            }
            
            String sqlstr="##$('"+sb+"', '"+(new SimpleDateFormat("yyyy-MM-dd").format(new Date()))+"', '0', '0');";
            //System.out.println(sb);
            sbfull.append(sqlstr+"\n");
            //String sbstr=sqlstr+"\n"+FileOperation.readTxtFile(new File("D:\\sql1.txt"));
        } else {

            for (int i = start; i < end; i++) {
                //if (i == 0 && str[0].equals("0"))
                   // continue;
                swap(str, start, i);
                permutation(str, start + 1, end);

                swap(str, start, i);
            }
        }
        
    }
}
package cn.xxxxx.tools;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.RandomAccessFile;

public class FileOperation {

	/**
	 * 创建文件
	 * 
	 * @param fileName
	 * @return
	 */
	public static boolean createFile(File fileName) throws Exception {
		boolean flag = false;
		try {
			if (!fileName.exists()) {
				fileName.createNewFile();
				flag = true;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return true;
	}

	/**
	 * 读TXT文件内容
	 * 
	 * @param fileName
	 * @return
	 */
	public static String readTxtFile(File fileName) throws Exception {
		String result = "";
		FileReader fileReader = null;
		BufferedReader bufferedReader = null;
		try {
			fileReader = new FileReader(fileName);
			bufferedReader = new BufferedReader(fileReader);
			try {
				String read = null;
				while ((read = bufferedReader.readLine()) != null) {
					result = result + read + "\r\n";
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (bufferedReader != null) {
				bufferedReader.close();
			}
			if (fileReader != null) {
				fileReader.close();
			}
		}
		//System.out.println("读取出来的文件内容是:" + "\r\n" + result);
		return result;
	}

	public static boolean writeTxtFile(String content, File fileName) throws Exception {
		RandomAccessFile mm = null;
		boolean flag = false;
		FileOutputStream o = null;
		try {
			o = new FileOutputStream(fileName);
			o.write(content.getBytes("utf-8"));
			o.close();
			// mm=new RandomAccessFile(fileName,"rw");
			// mm.writeBytes(content);
			flag = true;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		} finally {
			if (mm != null) {
				mm.close();
			}
		}
		return flag;
	}

	public static void contentToTxt(String filePath, String content) {
		String str = new String(); // 原有txt内容
		String s1 = new String();// 内容更新
		try {
			File f = new File(filePath);
			if (f.exists()) {
				System.out.print("文件存在");
			} else {
				System.out.print("文件不存在");
				f.createNewFile();// 不存在则创建
			}
			BufferedReader input = new BufferedReader(new FileReader(f));

			while ((str = input.readLine()) != null) {
				s1 += str + "\n";
			}
			System.out.println(s1);
			input.close();
			s1 += content;

			BufferedWriter output = new BufferedWriter(new FileWriter(f));
			output.write(s1);
			output.close();
		} catch (Exception e) {
			e.printStackTrace();

		}
	}

}

 

你可能感兴趣的:(0-9 最难数字序列生成)