0-9 最难数字序列生成

论坛 期权论坛 脚本     
匿名技术用户   2020-12-28 13:23   49   0
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 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP