rry1[1] + "\t" + "CHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
}
}
// V类型
if (PIC_V.equals(arry2[1])) {
int num = Integer.valueOf(arry2[2]);
System.out.println("警告!!!!!这是" + PIC_V + "的情况");
if (num >= 255) {
lineChar = arry1[1] + "\t" + "VARCHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
} else {
lineChar = arry1[1] + "\t" + "CHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
}
}
}
// 第三个数带有逗号
} else if (!arry1[2].contains(",")) {
String str = getOneBranket(arry1[2]);
// 匹配到某个关键字
if (arry2[0].equals(str)) {
// X类型
if (PIC_X.equals(arry2[1])) {
lineChar = arry1[1] + "\t" + "CHAR(" + arry2[2] + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
}
// N类型
if (PIC_N.equals(arry2[1])) {
lineChar = arry1[1] + "\t" + "DECIMAL(" + arry2[2] + "," + arry2[3] + ")" + "\t"
+ "DEFAULT 0 NOT NULL,";
}
// M类型
if (PIC_M.equals(arry2[1])) {
int num = Integer.valueOf(arry2[2]) * 3;
if (num >= 255) {
lineChar = arry1[1] + "\t" + "VARCHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
} else {
lineChar = arry1[1] + "\t" + "CHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
}
}
// V类型
if (PIC_V.equals(arry2[1])) {
int num = Integer.valueOf(arry2[2]);
//System.out.println("警告!!!!!这是" + PIC_V + "的情况");
if (num >= 255) {
lineChar = arry1[1] + "\t" + "VARCHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
} else {
lineChar = arry1[1] + "\t" + "CHAR(" + num + ")" + "\t" + "DEFAULT ' ' NOT NULL,";
}
}
}
}
}
} else if (arry1[0].equals(sevenNumber)) {
String filedName = arry1[1];
int fileNumber = Integer.valueOf(arry1[2]);
StringBuilder builder = new StringBuilder();
if ((arry1[3]).startsWith(PIC)) {
String str = getNine(arry1[4]);
lineChar = "DECIMAL(" + str + ",0)" + "\t" + "DEFAULT 0 NOT NULL,";
}
for (int i = 1; i < fileNumber; i++) {
builder.append(filedName + i + "\t \t" + lineChar + "\n");
}
lineChar = builder.toString();
} else {
// System.out.println("这些都是异常情况");
}
return lineChar;
}
3 main方法
public class CopyBookMain {
public static void main(String[] args) throws IOException {
ConverSqlToTxt sqlToTxt = new ConverSqlToTxt();
sqlToTxt.readBookFileByLine("E:\\git\\Practice_JAVA\\IBSC_BOOK_1.SQL","E:\\git\\Practice_JAVA\\IBSC_BOOK_1.txt");
CopyBookToSql sql = new CopyBookToSql();
sql.copyBookTosql("E:\\git\\Practice_JAVA\\IBSC_BOOK_1.txt","E:\\git\\Practice_JAVA\\dict.dat"
//,"H:\\github\\Practice_JAVA\\SQL\\","ODS");
,"E:\\git\\Practice_JAVA\\IBSC_BOOK_2.sql","ODS");
}
}
4 脚本语言 切割文本,形成一个个单独的表结构
#这个脚本用来将java程序转化的sql程序拆开为独立的表结构
filePath=$1
sqlDerectory=$2
tabStart='DROP'
clearFile(){
rm -f $1/*
}
clearNul