以处理某sql文件为例

  源文件中行格式为:

    123456  7895433  xxxxx   yyyyy  zzzzz
  行间分隔符为 TAB.

  转换完后文件中行的格式为:

    123456,7895433,xxxxx,yyyyy,zzzzz

package tool;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter; public class TransferFile { public static void main(String[] args) throws IOException
{
File f=new File("F:/mernis/data_dump.sql");
File filewrite=new File("F:/mernis/mernis-test.txt");
int count=0;
if(f.exists())
{
FileReader read=new FileReader(f);
BufferedReader buff=new BufferedReader(read);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filewrite, true)));
boolean isEnd=false;
int i=0;
while(!isEnd)
{
String line;
i++;
try {
line = buff.readLine();
if(line==null)
{
isEnd=true;
}
else
{ if (i>=76&&i<=49611784)
{
String[] lineArr = line.split("\\t");
String newline="";
for (int j = 0; j < lineArr.length; j++) {
if (j<lineArr.length) {
newline=newline+lineArr[j]+",";
}
else
newline=newline+lineArr[j];
}
out.write(newline+"\r\n");
}
count++;
// if (i==100) {
// return ;
// }
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } System.out.println("文件共有"+count+"行");
buff.close();
out.close(); }
else
{
System.out.println("你输入的文件不存在,请正确使用:");
} }
}

TransferFile.java

其中关键代码为:

String[] lineArr = line.split("\\t");
String newline="";
for (int j = 0; j < lineArr.length; j++)
{
if (j<lineArr.length)
{
newline=newline+lineArr[j]+",";
}
else
newline=newline+lineArr[j];
}

过程中曾尝试用line.replace("\\t",",")的方法将TAB替换为",",但是始终不成功,所以这里采用先用TAB分割字符串,再用逗号连接的方式。

最新文章

  1. ORA-12638:身份证明检索失败
  2. iOS 单例模式范例
  3. Java数据结构之队列的实现以及队列的应用之----简单生产者消费者应用
  4. QSpinBox 和 QSlider 联合使用方法
  5. Keil 4.0 生成bin文件
  6. 02day1
  7. aix 计算性内存和文件内存
  8. bash:ifconfig command not found for contos7.0
  9. 用Python学分析 - t分布
  10. Django2.1.2创建默认管理后台
  11. .NET Core 实现 Redis 批量查询指定格式的Key
  12. MySql在Mac上的安装与配置详解
  13. 关于用户输入恶意js
  14. JavaScript数组(二)实例
  15. 页面引入js问题
  16. .Net core使用EF Core Migration做数据库升级
  17. Mac下软件包管理器-homebrew
  18. Dockerfile 指令汇总及解析
  19. 使用maven-shade-plugin插件解决spark依赖冲突问题
  20. Java读取Excel数据

热门文章

  1. GreenDao3.2使用详解(增,删,改,查,升级)
  2. python网络编程-TCP服务端的开发
  3. 07-Spring ConfigurationClassPostProcessor
  4. OpenCV图像处理中“投影技术”的使用
  5. Myabtis-Plus之QueryWrapper常用方法
  6. 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致
  7. Dynamic Programming 动态规划入门笔记
  8. 剑指offer--孩子们的游戏(圆圈中最后剩下的数字)
  9. Java【IO流、字节流、字符流】
  10. 12.VUE - v-bind 详解