⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 writetest.java

📁 VC++
💻 JAVA
字号:
package com.sinosoft.security.util.mazingldaptools;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;

public class WriteTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// System.out.println(new java.sql.Timestamp(new
		// java.util.Date().getTime()).toString());
		// TODO 自动生成方法存根
		WriteTest t = new WriteTest();
		String res = "E:\\导数命令\\dataOrgsmile2.ldif";
		String targ = "E:\\导数命令\\dataOrgsmile3.ldif";
		t.readMyFileByIndex(res, targ, false);
		// System.out.println(new java.sql.Timestamp(new
		// java.util.Date().getTime()).toString());
	}

	public static void readMyFileByIndex(String res, String targ, boolean isOU) {
		String record = "";
		int recCount = 0;
		FileReader fr = null;
		BufferedReader br = null;
		FileWriter fw = null;
		BufferedWriter bw = null;
		try {
			fr = new FileReader(res);
			br = new BufferedReader(fr);
			fw = new FileWriter(targ);
			bw = new BufferedWriter(fw);
			ArrayList cnBeforeOrder = new ArrayList();
			ArrayList cnBeforeOrderSize = new ArrayList();
			ArrayList cnOrder = new ArrayList();
			// ArrayList cnOrderSize = new ArrayList();

			boolean flag = false;
			String[] ss = null;
			int cnLength = 0;

			// 取得所有cn放入到cnBeforeOrder和cnBeforeOrderSize中。
			while ((record = br.readLine()) != null) {
				recCount++;
				System.out.println(recCount + ": " + record);
				if (flag == false) {
					if (isOU) {
						if (record.indexOf("ou=") == 0) {
							flag = true;
							cnBeforeOrder.add(record);
							ss = record.split(",");
							cnLength = ss.length;
							cnBeforeOrderSize.add(Integer.valueOf(ss.length));
						}
					} else {
						if (record.indexOf("cn=") == 0) {
							flag = true;
							cnBeforeOrder.add(record);
							ss = record.split(",");
							cnLength = ss.length;
							cnBeforeOrderSize.add(Integer.valueOf(ss.length));
						}
					}
				}
				if (record.length() == 0)
					flag = false;
			}
			System.out.println("cnBeforeOrder:" + cnBeforeOrder.size());
			// 开始对其排序
			int lastCnSize = 0;
			String lastCnStr = "";
			int tempj = 0;
			for (int i = 0; i < cnBeforeOrderSize.size(); i++) {
				int tempLength = ((Integer) cnBeforeOrderSize.get(i))
						.intValue();
				int temp = 0;
				String tempStr = "";
				// 找到次小
				for (int j = i + 1; j < cnBeforeOrderSize.size(); j++) {
					temp = ((Integer) cnBeforeOrderSize.get(j)).intValue();
					tempStr = (String) cnBeforeOrder.get(j);
					if (temp == 0) {
						tempj = j;
					}
					if (temp <= tempLength) {
						tempLength = temp;
						tempj = j;
					}
				}
				lastCnStr = (String) cnBeforeOrder.get(i);
				cnBeforeOrder.set(i, (String) cnBeforeOrder.get(tempj));
				cnBeforeOrder.set(tempj, lastCnStr);

				lastCnSize = ((Integer) cnBeforeOrderSize.get(i)).intValue();
				cnBeforeOrderSize
						.set(i, (Integer) cnBeforeOrderSize.get(tempj));
				cnBeforeOrderSize.set(tempj, Integer.valueOf(lastCnSize));
			}
			cnOrder = cnBeforeOrder;
			// 开始按照cnOrder的顺序,将数据输入输出文件。
			System.out.println("cnOrder:" + cnOrder.size());
			ArrayList tempCn = new ArrayList();
			boolean just = false;
			for (int j = 0; j < cnOrder.size(); j++) {
				fr = new FileReader(res);
				br = new BufferedReader(fr);
				just = false;
				flag = false;
				tempCn.clear();
				while ((record = br.readLine()) != null) {
					recCount++;
					// System.out.println(recCount + ": " + record);
					if (flag == false) {
						if (isOU) {
							if (record.indexOf("ou=") == 0) {
								flag = true;
								if (record.equalsIgnoreCase((String) cnOrder
										.get(j)))
									just = true;
							}
						} else {
							if (record.indexOf("cn=") == 0) {
								flag = true;
								if (record.equalsIgnoreCase((String) cnOrder
										.get(j)))
									just = true;
							}
						}
					}
					tempCn.add(record);
					if (record.length() == 0) {
						if (just) {
							if (((String) tempCn.get(tempCn.size() - 1))
									.equalsIgnoreCase(""))
								tempCn.remove(tempCn.size() - 1);
							break;
						}
						flag = false;
						tempCn.clear();
					}
				}

				for (int i = 0; i < tempCn.size(); i++) {
					bw.write((String) tempCn.get(i));
					System.out.println((String) tempCn.get(i));
					bw.newLine();
				}
				tempCn.clear();
				bw.newLine();
				System.out
						.println("**************************************************************"
								+ j);
				System.out.println();
			}

			if (br != null) {
				br.close();
			}
			if (bw != null) {
				bw.close();
			}
			if (fr != null) {
				fr.close();
			}
			if (fw != null) {
				fw.close();
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void readMyFileByIndex1() {
		String record = "";
		int recCount = 0;
		FileReader fr = null;
		BufferedReader br = null;
		FileWriter fw = null;
		BufferedWriter bw = null;
		try {
			fr = new FileReader("dataallsmile1.ldif");
			br = new BufferedReader(fr);
			fw = new FileWriter("dataallsmile2.ldif");
			bw = new BufferedWriter(fw);
			ArrayList cnBeforeOrder = new ArrayList();
			ArrayList cnBeforeOrderSize = new ArrayList();
			ArrayList cnOrder = new ArrayList();
			// ArrayList cnOrderSize = new ArrayList();

			boolean flag = false;
			String[] ss = null;
			int cnLength = 0;

			// 取得所有cn放入到cnBeforeOrder和cnBeforeOrderSize中。
			while ((record = br.readLine()) != null) {
				recCount++;
				// System.out.println(recCount + ": " + record);
				if (flag == false) {
					if (record.indexOf("cn=") == 0) {
						flag = true;
						cnBeforeOrder.add(record);
						ss = record.split(",");
						cnLength = ss.length;
						cnBeforeOrderSize.add(Integer.valueOf(ss.length));
					}
				}
				if (record.length() == 0)
					flag = false;
			}
			// System.out.println("cnBeforeOrder:"+cnBeforeOrder.size());
			// 开始对其排序
			int lastCnSize = 0;
			String lastCnStr = "";
			int tempj = 0;
			for (int i = 0; i < cnBeforeOrderSize.size(); i++) {
				int tempLength = ((Integer) cnBeforeOrderSize.get(i))
						.intValue();
				int temp = 0;
				String tempStr = "";
				// 找到次小
				for (int j = i + 1; j < cnBeforeOrderSize.size(); j++) {
					temp = ((Integer) cnBeforeOrderSize.get(j)).intValue();
					tempStr = (String) cnBeforeOrder.get(j);
					if (temp == 0) {
						tempj = j;
					}
					if (temp <= tempLength) {
						tempLength = temp;
						tempj = j;
					}
				}
				lastCnStr = (String) cnBeforeOrder.get(i);
				cnBeforeOrder.set(i, (String) cnBeforeOrder.get(tempj));
				cnBeforeOrder.set(tempj, lastCnStr);

				lastCnSize = ((Integer) cnBeforeOrderSize.get(i)).intValue();
				cnBeforeOrderSize
						.set(i, (Integer) cnBeforeOrderSize.get(tempj));
				cnBeforeOrderSize.set(tempj, Integer.valueOf(lastCnSize));
			}
			cnOrder = cnBeforeOrder;
			// 开始按照cnOrder的顺序,将数据输入输出文件。
			// System.out.println("cnOrder:"+cnOrder.size());
			ArrayList tempCn = new ArrayList();
			boolean just = false;
			for (int j = 0; j < cnOrder.size(); j++) {
				fr = new FileReader("dataallsmile1.ldif");
				br = new BufferedReader(fr);
				just = false;
				flag = false;
				tempCn.clear();
				while ((record = br.readLine()) != null) {
					recCount++;
					System.out.println(recCount + ": " + record);
					if (flag == false) {
						if (record.indexOf("cn=") == 0) {
							flag = true;
							if (record
									.equalsIgnoreCase((String) cnOrder.get(j)))
								just = true;
						}
					}
					tempCn.add(record);
					if (record.length() == 0) {
						if (just) {
							if (((String) tempCn.get(tempCn.size() - 1))
									.equalsIgnoreCase(""))
								tempCn.remove(tempCn.size() - 1);
							break;
						}
						flag = false;
						tempCn.clear();
					}
				}

				for (int i = 0; i < tempCn.size(); i++) {
					bw.write((String) tempCn.get(i));
					// System.out.println( (String) tempCn.get(i));
					bw.newLine();
				}
				tempCn.clear();
				bw.newLine();
				// System.out.println("**************************************************************"+j);
				// System.out.println();
			}

			if (br != null) {
				br.close();
			}
			if (bw != null) {
				bw.close();
			}
			if (fr != null) {
				fr.close();
			}
			if (fw != null) {
				fw.close();
			}

		} catch (Exception e) {

		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -