mysql 去多余回车
来源:互联网 发布:淘宝装修神器 编辑:程序博客网 时间:2024/05/21 11:00
package mytools;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Practice7 {
public static void main(String[] args) {
try {
System.gc();
FileInputStream fis = new FileInputStream("F:\\temp\\c.sql");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
FileOutputStream fos = new FileOutputStream("F:\\temp\\bb.sql");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
int a = 0;
String strLine;
StringBuffer sb = new StringBuffer();
while ((strLine = br.readLine()) != null) {
if (strLine.startsWith("INSERT INTO")) {
/*针对添加数据的行进行格式化*/
//判断此行 是否为完整的字段
if (strLine.endsWith("),") || strLine.endsWith(");")
|| strLine.endsWith("*/")
|| strLine.endsWith("*/;")
|| strLine.endsWith("--")) {
sb.append(strLine);
strLine = sb.toString();
sb.delete(0, sb.length()); // 清空sb
// 格式化操作 其他不用格式化
// 天幻换行符
strLine = getStringNoBlank(strLine);
// strLine = GSH(strLine); // 格式化
// strLine = InsertInto(strLine); // insert
//strLine = dofen(strLine); // 去掉回车换行
bw.write(strLine + "\n");
} else {
sb.append(strLine);
System.out.println(strLine+"出发现异常");
}
System.out.print(a + "\t");
a++;
}else{
//非添加数据的行,读一行 写一行
bw.write(strLine + "\n");
System.out.print(a + "\t");
a++;
}
//输出加换行
if (a % 10 == 0) {
System.out.println();
}
}
//正确的导出SQL不会执行到.
if (sb.length() > 0) {
System.out.println("SQL备份文件有错,请重新导入");
}
System.gc();
br.close();
bw.close();
fos.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error: " + e.getMessage());
}
}
// 替换回车
public static String getStringNoBlank(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("\\n");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("");
return strNoBlank;
} else {
return str;
}
}
// 格式化 [\\)],[\\s]{0,n}[\\(]
public static String GSH(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("\\)\\s*\\,\\s*\\(");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("\\)\\,\n\t\\(");
return strNoBlank;
} else {
return str;
}
}
// 格式化 [\\)],[\\s]{0,n}[\\(]
public static String InsertInto(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("VALUES");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("VALUES\n\t");
return strNoBlank;
} else {
return str;
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Practice7 {
public static void main(String[] args) {
try {
System.gc();
FileInputStream fis = new FileInputStream("F:\\temp\\c.sql");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
FileOutputStream fos = new FileOutputStream("F:\\temp\\bb.sql");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
int a = 0;
String strLine;
StringBuffer sb = new StringBuffer();
while ((strLine = br.readLine()) != null) {
if (strLine.startsWith("INSERT INTO")) {
/*针对添加数据的行进行格式化*/
//判断此行 是否为完整的字段
if (strLine.endsWith("),") || strLine.endsWith(");")
|| strLine.endsWith("*/")
|| strLine.endsWith("*/;")
|| strLine.endsWith("--")) {
sb.append(strLine);
strLine = sb.toString();
sb.delete(0, sb.length()); // 清空sb
// 格式化操作 其他不用格式化
// 天幻换行符
strLine = getStringNoBlank(strLine);
// strLine = GSH(strLine); // 格式化
// strLine = InsertInto(strLine); // insert
//strLine = dofen(strLine); // 去掉回车换行
bw.write(strLine + "\n");
} else {
sb.append(strLine);
System.out.println(strLine+"出发现异常");
}
System.out.print(a + "\t");
a++;
}else{
//非添加数据的行,读一行 写一行
bw.write(strLine + "\n");
System.out.print(a + "\t");
a++;
}
//输出加换行
if (a % 10 == 0) {
System.out.println();
}
}
//正确的导出SQL不会执行到.
if (sb.length() > 0) {
System.out.println("SQL备份文件有错,请重新导入");
}
System.gc();
br.close();
bw.close();
fos.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error: " + e.getMessage());
}
}
// 替换回车
public static String getStringNoBlank(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("\\n");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("");
return strNoBlank;
} else {
return str;
}
}
// 格式化 [\\)],[\\s]{0,n}[\\(]
public static String GSH(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("\\)\\s*\\,\\s*\\(");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("\\)\\,\n\t\\(");
return strNoBlank;
} else {
return str;
}
}
// 格式化 [\\)],[\\s]{0,n}[\\(]
public static String InsertInto(String str) {
if (str != null && !"".equals(str)) {
Pattern p = Pattern.compile("VALUES");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("VALUES\n\t");
return strNoBlank;
} else {
return str;
}
}
}
0 0
- mysql 去多余回车
- 去掉多余回车
- 吸收多余字符 回车
- 去掉多余的回车符
- textarea去多余空格
- textarea去多余空格
- GesturePassword 去多余的线条
- 替换掉多余的回车符号
- mysql删除多余数据
- NSString去多余空格的方法
- 磁盘压缩,将多余空间分出去。
- 初学者常见问题----解决scanf接收多余回车符的问题
- word中如何删除换行符(多余的回车)
- 批量删除Word中回车、多余空格和空…
- vim去掉windows文本的多余的回车符(^M)
- vim去掉windows文本的多余的回车符(^M)
- 去掉windows文本的多余的回车符(^M)
- 如何删除word多余的回车,删除word多余的断行。
- mysql計畫事件
- iOS 归档-沙盒存取-账号过期处理
- 图片一张张按顺序加载显示问题
- The method of type must override a superclass method解决方式
- Centos 6.5版本的Linux系统下关于hadoop2.4.1伪分布式的搭建
- mysql 去多余回车
- a星寻路
- ORA-14402: 更新分区关键字列将导致分区的更改
- 一个时间粒度整数倍的时间点
- Redis集群部署文档
- 00-自测5. Shuffling Machine (20)
- 录音 暂停 继续 checkBox 自定义
- ELCImagePicker 学习总结(一)
- 黑马程序员_java基础自学1