遍历文件夹里的文件,将包含多个<REC>的文件拆成若干只包含一个<REC>的文件

  1. package com.prepub;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.io.OutputStream;
  12. import java.io.OutputStreamWriter;
  13.  
  14. public class SplitRecCase {
  15.  
  16. public static void makeRecFile(String opath01)      //将包含多个<REC>的文件拆成若干只包含一个<REC>的文件
  17. {
  18. try {
  19. FileInputStream fis = new FileInputStream(opath01);
  20. InputStreamReader isr = new InputStreamReader(fis);
  21. BufferedReader br = new BufferedReader(isr);
  22.  
  23. String temp;
  24. File f01 = new File(opath01);
  25. String dir = f01.getParent()+"rec";
  26. File fr = new File(dir);
  27. // String filename = f01.getName().split("\\.")[0];
  28. FileOutputStream fos =null;
  29. OutputStreamWriter osw=null;
  30. BufferedWriter bw =null;
  31.  
  32. if(!fr.exists())
  33. {
  34. fr.mkdirs();
  35. }
  36.  
  37. int i = ;
  38. String npath02 = dir+"\\1.txt";
  39. while((temp = br.readLine())!=null)      //按行读文件
  40. {
  41. if(temp.contains("<REC>")){
  42. i++;
  43. npath02 = dir+"\\"+f01.getName().split("\\.")[]+"_"+i+".txt";
  44. fos = new FileOutputStream(npath02);
  45. osw = new OutputStreamWriter (fos);
  46. bw = new BufferedWriter(osw);
  47. bw.write(temp);
  48. bw.newLine();
  49. bw.flush();
  50. }else{
  51. bw.write(temp);
  52. bw.newLine();
  53. bw.flush();
  54. }
  55. }
  56. } catch (FileNotFoundException e) {
  57. // TODO Auto-generated catch block
  58. e.printStackTrace();
  59. } catch (IOException e) {
  60. // TODO Auto-generated catch block
  61. e.printStackTrace();
  62. }
  63. }
  64. public static void main(String[] args) {
  65. // TODO Auto-generated method stub
  66. String opath01 = null ;
  67. String path = "E:\\data";
  68. File of = new File(path);
  69. if(of.isDirectory())
  70. {
  71. File[] files = of.listFiles();
  72. for(File f: files)        //遍历文件夹里的文件
  73. {
  74. System.out.println(f.getAbsolutePath());
  75. opath01 = f.getAbsolutePath();
  76. makeRecFile(opath01);    
  77. }
  78. System.out.println("完成");
  79. }else{
  80. makeRecFile(of.getAbsolutePath());
  81. }
  82. }
  83.  
  84. }

java实现将包含多个<REC>的文件拆成若干只包含一个<REC>的文件的更多相关文章

  1. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

  2. 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

    查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...

  3. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  4. 使用Eclipse把java文件打包成jar 含有第三方jar库的jar包

    使用Eclipse把java文件打包成jar 含有第三方jar库的jar包   网上打包说用eclipse安装fat jar插件,但是貌似现在都不能用了,所以我只能按照eclipse自带的方法打包了. ...

  5. Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用

    在perference 加content Assist 可以设置快捷键 透视图与视图 透视图:Debug和java主窗口 视图:每一个小窗口就是视图 高版本的java可运行低版本的java版本 常见的 ...

  6. Android开发,布局xml文件命名注意事项——不能包含任何大写字母

    转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*. ...

  7. java实现将文件压缩成zip格式

    以下是将文件压缩成zip格式的工具类(复制后可以直接使用): zip4j.jar包下载地址:http://www.lingala.net/zip4j/download.php package util ...

  8. 使用Eclipse把java文件打包成jar

    本例仅限于要打包的文件没有使用第三方的jar包 在要打包的包或者文件上右键-Export 这里有一些选项: Export generated class files and resources 表示只 ...

  9. java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

    APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...

随机推荐

  1. Java 开始

    (事先声明:该文章并非完全是我自己的产出,更多的是我个人在看到资料后通过理解并记录下来,作为自己阅读后的一个笔记:我现在试图对自己多年工作中的知识点做一个回顾,希望能融会贯通) (此文参考<Ja ...

  2. LeetCode——17. Letter Combinations of a Phone Number

    一.题目链接: https://leetcode.com/problems/letter-combinations-of-a-phone-number/ 二.题目大意: 给定一段数字字符串,其中每个数 ...

  3. django 的后台管理

    class bcb(models.Model): name = models.CharField(max_length=64,verbose_name='班次名称') verbose_name = ' ...

  4. json,pickle,shelve模块,xml处理模块

    常用模块学习—序列化模块详解 什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 为什么要序列化? 你打游戏过程 ...

  5. 1.编写一个shell脚本

    一.shell和shell脚本 在linux系统下,以 #/bin/bash开头的文本会被shell解释器进行解释.   shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操 ...

  6. CF963D Frequency of String

    https://codeforces.com/problemset/problem/123/D 题目大意 给一个字符串 \(s\),每次询问一个字符串 \(m_i\) 和一个正整数 \(k_i\),问 ...

  7. CDH断电后cloudera-scm-server启动报错

    报错背景: CDH未关闭的情况下,Linux断电,导致cloudera-scm-server无法启动. 报错现象: 输入启动命令之后:/opt/cm-5.15.1/etc/init.d/clouder ...

  8. ssh 端口转发实践

    A: 172.28.92.114 本地主机B: 172.28.92.117 中间主机C: 172.28.92.118 目的主机 (这里名字叫目的主机更合适,原先把这里叫成远程主机,导致我一直认为远程端 ...

  9. 【转载】许纪霖教授在上海财经大学演讲——漫谈“大学生的四个Learn”

    这几年,越来越多的大学毕业生抱怨找不到合意的工作.很多单位又感叹,找一个称职的大学生真难.这就形成一个非常大的反差和矛盾.那么,社会究竟需要怎样的大学生?我们的大学到底应该培养怎样的大学生?我们作为大 ...

  10. Java中的transient关键字

    转载于:[lfsf802](http://blog.csdn.net/lfsf802/article/details/43239663) 关键字介绍 一个对象只要实现了Serilizable接口,这个 ...