Java实现从ClearCase的.mrgman文件中提取出文件列表的程序

clearcase for java 开发库 立即下载

Java实现从ClearCase的.mrgman文件中提取出文件列表的程序





import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;



/**

 * Author: Zhusheng3@126.com 

 * Date:2007-12-9 上午06:38:24
 * Shenzhen

 */



public class MergeManFileTool

{





    public static File getDoubleQuotsString(File fileEndwithmrgman

           )

    {

        File outputFile = new File("temp/getDoubleQuotsString.txt");

        outputFile.getParentFile().mkdirs();

        BufferedReader br = null;

        BufferedWriter bw = null;

        int beginPos = 0;

        int endPos = 0;



        try

        {

            br = new BufferedReader(new FileReader(fileEndwithmrgman));

            bw = new BufferedWriter(new FileWriter(outputFile));

            String line = br.readLine();



   

            boolean needRightQuot = false;

            int begin = 0;



            while (line != null)

            {

                int position = 0;

                if (begin < line.length())

                {

                    position = line.indexOf("/"", begin);

                    while (position >= 0)

                    {



                        if (needRightQuot == true)

                        {

                            String result = line.substring(begin - 1,

                                    position + 1);



                            bw.write(result);

                            bw.newLine();



                            needRightQuot = false;

                        }

                        else

                        {

                            needRightQuot = true;

                        }

                        begin = position + 1;

                        position = line.indexOf("/"", begin);

                    }

                }

                if (needRightQuot == true)

                {

                    bw.write("--------------this line need a /" to close----:");

                    bw.newLine();

                    bw.write(line);

                    bw.newLine();

                }

                line = br.readLine();

            }



        }

        catch (Exception e)

        {





            e.printStackTrace();

        }

        finally

        {

            if (br != null)

            {

                try

                {

                    br.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

            if (bw != null)

            {

                try

                {

                    bw.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

        }

        return outputFile;



    }

    

    public static File getLineWhichIsFile(File in)

    {

        

        File out = new File("temp//getLineWhichIsFile.txt");

        BufferedReader br = null;

        BufferedWriter bw = null;

        int beginPos = 0;

        int endPos = 0;



        try

        {

            br = new BufferedReader(new FileReader(in));

            bw = new BufferedWriter(new FileWriter(out));

            String line = br.readLine();



            boolean isend = false;

            int begin = 0;



            while (line != null)

            {

                // 包含文件的行,把只有文件夹的行去除掉。

                if (line.contains("."))

                {

                    bw.write(line);

                    bw.newLine();

                }



                line = br.readLine();

            }



        }

        catch (Exception e)

        {

            System.out.println("--" + beginPos + ":" + endPos);



            e.printStackTrace();

        }

        finally

        {

            if (br != null)

            {

                try

                {

                    br.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

            if (bw != null)

            {

                try

                {

                    bw.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

        }

        return out;

    }

    public static File getLineBeginWith(File inputFile,

            String prefix)

    {



        File resultFile = new File("temp//getAllFiles.txt");

        BufferedReader br = null;

        BufferedWriter bw = null;

        int beginPos = 0;

        int endPos = 0;



        try

        {

            br = new BufferedReader(new FileReader(inputFile));

            bw = new BufferedWriter(new FileWriter(resultFile));

            String line = br.readLine();



            boolean isend = false;

            int begin = 0;



            while (line != null)

            {



                if (line.startsWith(prefix))

                {

                    bw.write(line.substring(1,line.length()-1));

                    bw.newLine();

                    //System.out.println(line.substring(1,line.length()-1));

                }



                line = br.readLine();

            }



        }

        catch (Exception e)

        {



            e.printStackTrace();

        }

        finally

        {

            if (br != null)

            {

                try

                {

                    br.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

            if (bw != null)

            {

                try

                {

                    bw.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

        }

        return resultFile;



    }

    public static File getFileInTypes(File in,String []types)

    {

        File out = new File("temp//getAllFilesInTypes.txt");

        

        BufferedReader br = null;

        BufferedWriter bw = null;

        int beginPos = 0;

        int endPos = 0;



        try

        {

            br = new BufferedReader(new FileReader(in));

            bw = new BufferedWriter(new FileWriter(out));

            String line = br.readLine();



            boolean isend = false;

            int begin = 0;



            while (line != null)

            {

                // 

                File eachFile = new File(line);

                if(FileTool.isFileInTypes(eachFile, types))

                {

                    bw.write(line);

                    bw.newLine();

                }



                line = br.readLine();

            }



        }

        catch (Exception e)

        {

            System.out.println("--" + beginPos + ":" + endPos);



            e.printStackTrace();

        }

        finally

        {

            if (br != null)

            {

                try

                {

                    br.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

            if (bw != null)

            {

                try

                {

                    bw.close();

                }

                catch (IOException e)

                {



                    e.printStackTrace();

                }

            }

        }

        return out;

        

    }

    

    public static File parseFile_mrgman2Txt(File mrgmanFile)

    {



       //step1:get all string in double quots

       File quots = getDoubleQuotsString(mrgmanFile);

       

       //step2:get all lines including clearcase disk symbol-M:

       File include = getLineBeginWith(quots,"/"M:");

      

       //step3:get all lines which is file ,not a diretory

       File allFiles=getLineWhichIsFile(include);

       

       //step4:get all lines which file is in determined types

       File fileInType=getFileInTypes(allFiles,FileTool.types);

       

       

       return fileInType;



    }

    

    

    public static void main(String[] args)

    {

        File mrgman = new File("tw34.mrgman");

        getDoubleQuotsString(mrgman);

       File result =parseFile_mrgman2Txt(mrgman);

        

        result.renameTo(new File("result.txt"));

    }

    

}

风力发电机缺陷检测平台 风力发电机缺陷检测平台相关内容展示 阅读详情

相关推荐

Open FPV VTX与Betaflight的MSP协议配置详解:从硬件连接到OSD显示

本文详细解析了如何通过MSP协议将Open FPV VTX与Betaflight飞控进行深度集成,实现飞行数据在OSD上的稳定显示。内容涵盖从硬件连接、Betaflight端口MSP服务启用,到VTX侧配置与OSD元素布局调校的全流程,并提供了常见问题的排查思路,帮助FPV玩家构建可靠的数据叠加系统。

weixin_29201933的博客 456

用JAVA操作ClearCase

本文关注怎么用JAVA处理ClearCase(ClearCase是rational公司开发的配置管理工具,了解详情点这里).在了解了怎么用JAVA.LANG.RUNTIME以后,主要的事情还是输入输出流,同步,以及字符串的处理. 下面这段代码演示了如何调用ClearCase的命令行: public String exec(String command) throws IOException {...

220

【多模态融合】TransFusion学习笔记(1)

工作上主要还是以纯lidar的算法开发,部署以及系统架构设计为主。对于多模态融合(这里主要是只指Lidar和Camer的融合)这方面研究甚少。最近借助和朋友们讨论论文的契机接触了一下这方面的知识,起步是晚了一点,但好歹是开了个头。下面就借助TransFusion论文及其开源代码来串一串这方面的知识。这个很好理解,参考FPointNet网络图示。就是利用现有的2D检测器在图像上提取2D初始框,根据Camera成像原理,捕获2D框视锥内的点云,再利用点云分类模型(如:PointNet)做进一步分类。

4962

ClearCase 批量更新源码步骤

工作中在产品成型阶段每一次测试后涉及修改的源 码比较多,而使用CC一个一个去维护去ci,co的话将相当的麻烦,所以自行总结了一套根据源码修改清单利用CC命令 批量ci,co,mklabel的步骤。此步骤是针对windows平...

cpuj99882的博客 566

ISCE+Mintpy进行SBASInSAR处理(持续更新)

通过调用pairs_misregistration方法,利用safe_dict中的数据信息,对每对SLC数据进行配准误差的计算和分析,以确定数据之间的精确差异,为后续的时间序列处理提供基础。给定同一地区的两景SAR影像,经过配准之后,对应像元进行共轭相乘得到相位差,并形成干涉图,但是从干涉图中得到的相位差实际上是主值,即在(-π,π)呈周期性变化,为了还原其真实的相位差,必须在主值的基础上加或减整数倍的相位周期2π,把被卷叠的相位展开,才能顺利地反演出地面目标的高程和形变。

Cyy2511250589的博客 3736

详解ReID的各部分组成及Trick——基于FastReID

这一系列博客将基于京东开源的FastReID进行扩充,详细介绍了ReID的各个组成部分,一些有用的Trick,评价指标,常用数据集等,详细内容见下方的链接,总结不易,如有理解不正确之处,麻烦各位批评指正。 一、FastReID的中的baseline文件配置 二、Training strategy 三、Pre-processing 四、Backbone 五、Aggregation 六、Head 七、Loss 八、Distance Metric 九、Post-processing 十、Evaluation 十一

藏晖的博客 9165

java 写的 ClearCase 的工具类

一个通过用java调用命令行的方式实现了clearcase 一些常用命令的操作: 目前是实现了 文件的批量导入,视图中元素的批量检入,和自动合并三个操作, 有需要扩展的大家可以 自行扩展 。 其中主要包含了对clearcase常用命令的封装 方便于对clearcase命令的调用。 附带java源码 有兴趣的可以研究下。 ...

iteye_280的博客 240

手把手教你用TJA1145A实现CAN节点智能唤醒(含数据帧过滤技巧)

本文详细介绍了如何使用TJA1145A收发器实现CAN节点的智能唤醒功能,包括数据帧过滤技巧和超低功耗设计。通过硬件级帧过滤和双条件唤醒机制,TJA1145A在保持微安级休眠电流的同时,能对特定报文做出毫秒级响应,显著提升电池供电设备的续航能力。

weixin_28721917的博客 251

Hibernate用Sequence 作主键的问题

今天隔壁部门的兄弟尝试用Oracle的Sequence为Hibernate做主键。做法很简单,我看了之后觉得不是很妥当,应该慎用和少用,一旦用了Sequence,那么程序就和数据库强耦合了。从设计的角度,这是很不值得推荐的。况且,Hibernate的优秀的主键策略那么多,怎么也轮不到Sequence吧? -----------------------------------

8650

解决pd.read_json报错ValueError: Trailing data问题

首先,我们使用open函数打开JSON文件,然后使用json.load函数将JSON文件数据解码为Python对象。在使用Python进行数据处理中,我们经常需要将JSON格式的数据读入到DataFrame中进行处理。而使用pandas库的read_json函数,就可以方便地将JSON数据读入到DataFrame中。但是有时候在读取JSON数据时,会遇到一个非常常见的错误:ValueError: Trailing data。这个错误的解决方案并不难,只需要在read_json中添加一个参数即可。

学习使你进步。 2234

华为OD机试双机位C卷-停车场收入统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 停车场收入统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 停车场收入统计。

qq_45776114的博客 2185

Java实现简体中文转繁体中文的工具(包括编码转换和语义转换)

简体中文转繁体中文的工具,包括:1、编码转换(GBK->big5) 2、语义转换(根据词库,需要词库的请EMail联系我)package i18n.converter;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.ByteArrayInputStream;

8226

从零开始学习CANoe(十六)—— Graphics

Graphics是一种以时间轴为横坐标,符号值为纵坐标的显示分析方法,相对于Trace来说,更直观的观察出信号的跳变

蚂蚁小兵 9194

Java实现SRT字幕中英文合成工具

周末在家上看《Rome》,发现有中英文两种字幕切换,英文字幕还是大写, 于是写了个小程序,完成以下两个功能: 1、 convert all upper case to lower case把英文字幕变成小写2、 attach Chinese script to English script 把中文字幕附件到英文字幕下面 程序源码见附件,效果就像很多港产片的字幕一样:上面是英文字幕,下面是中

6899

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

根据JavaBean生成数据库增删改查的SQL语句。

根据JavaBean生成数据库增删改查的SQL语句。1,genInsertSQL(Object bean);2,genUpdateSQL(Object bean);3,genDeleteSQL(Object bean);4,genFindAllSQL(String tableName);5,genFindAllSQL(String tableName)import java.io.

3654

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

简繁转换工具的设计与实现

 简繁转换工具的设计与实现简繁转换工具主要需要完成两个功能:1)简体转繁体。2)繁体转简体。从OMC-S以及公司其他应用系统目前的需求来看,主要是有简体转繁体的需求。那么,下面我们就着重介绍简体转繁体功能,繁体转简体方法可以举一反三,基本雷同。正如本文开篇所言,简体转繁体需要解决以下两个问题:1)语义问题。2)编码问题。3.1编码问题在研究简繁转换问题的过程中,我们惊喜地发现一个非

2894

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java实现自动从ClearCase中check out 文件或文件夹

Java实现自动从ClearCase中check out 文件或文件夹。1、check out单个文件;2、check out文件夹import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;i

1427

Java实现自动查找多语言Resource Bundle文件是否包含有重复项的工具

一个自动查找多语言Resource Bundle的properties文件是否包含有重复项的工具,如果有重复Item,则提示出来,便于删除重复的资源项。包括两个功能:1、查找同一个文件中是否有重复项。2、查找多语言的各Bundle文件中的Item是否完全一致,有否缺漏。import java.io.BufferedInputStream;import java.io.Buffe

1407

获取数据库表的主键列名工具

两个功能:1、获取数据库的connection2、获取数据库表的主键PK的列名import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.util.ArrayL

1335

实现AOP中异常日志管理的类

功能:实现AOP中异常日志管理的类 import org.apache.log4j.Level;import org.apache.log4j.Logger;import org.aspectj.apache.bcel.classfile.Method;import org.aspectj.lang.JoinPoint;import

1226

嵌入式Tomcat的Java实现

嵌入式Tomcat的实现 import java.io.File;import java.net.InetAddress;import org.apache.catalina.Context;import org.apache.catalina.Engine;import org.apache.catalina.Host;import o

1216

设计模式:我与Facade模式的亲密接触

 Facade模式,我对她可谓另眼相看----无声无息,她已经融入到了我们的生活中了! Facade模式其实就是我非常认同的“Client Focus”的编程思想的一个具体体现。子系统无论多么复杂,我们暴露给Client的接口一定要简单,方式也一定要简单。解释一下我所认为的Client Focus:我认为编程应该以Client为中心,1,让Client调用简单,能不要Client做的事情尽

1194

Hibernate实现DAO的常用CRUD操作

package com.utstar.nms.vmm.spring.dao;import java.io.Serializable;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.uts

1121

常用文件操作Util工具类

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;

1018

利用Spring2.0对VMM系统进行系统架构改造的实践

利用Spring2.0对VMM系统进行系统架构改造的实践  摘要本文源于VMM系统架构改造的实践经验。文章首先介绍了VMM原有系统架构以及分析了其存在的问题,以此引出对原有系统架构的改造思路。之后引入Spring,并介绍了Spring的IoC、AOP等基本概念。最后,文章详述了VMM系统是如何利用Spring来进行系统改造的,以及采用新系统架构之后的优点和优雅之处。在文章的最后

964

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 293
上一篇: Java实现自动从ClearCase中check out 文件或文件夹
下一篇: 再说淘宝的评价和信用机制
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值