WindChill角色的键值对的获得


经常有碰到要用角色的ID的时候,但通常就只知道角色名称,如果要查就只能到服务器上找到角色文件,然后再一个个的查找才能找到.Windchill的角色文件存放的地址在:Windchill\wtCustom\wt\project目录下,一般至少有两个文件:RoleRB.rbInfo和RoleRB_zh_CN.rbInfo,这两个就是存放角色的文件,可直接打开.

   文件内容如:

        

ResourceInfo.class=wt.tools.resource.EnumResourceInfo

# Entry Contents

APPROVER.value.translationSource.now=Approver
APPROVER.shortDescription.translationSource.now=Workflow Approver role
APPROVER.value=批准者
APPROVER.shortDescription=工作流批准者角色
APPROVER.order=10

...................

 

包含住信息太多,其实我只想要一个键:APPROVER和批准者,所以我就用java写了个方法把这两个值提取出来,

JAVA:

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;


public class WindchillRole
{
    /**
     * 将角色文件RoleRB_zh_CN.rbInfo里的角色产生到一个文件里形成键值对
     * <br/><方法概述>
     * <br/><方法详细概述>
     * <br/><版本>
     * <br/><作者> crf
     * @throws IOException 
     */
    public static void productRoleMapFile() throws IOException{
        String path="E:\\RoleRB_zh_CN.rbInfo";
        String outputPath="E:\\PLM角色键值对.csv";
        java.io.File file=new java.io.File(path);
        java.io.File outFile=new java.io.File(outputPath);
       InputStream in=new FileInputStream(file);
       OutputStream out=new FileOutputStream(outFile);
       InputStreamReader ir=new InputStreamReader(in,"GBK");
       BufferedReader br=new BufferedReader(ir);
       OutputStreamWriter ow=new OutputStreamWriter(out,"GBK");
       BufferedWriter bw=new BufferedWriter(ow);
       bw.write("角色ID,角色名称\n");
        String result=br.readLine();
        String str=".value=";
        while(result!=null  ){
            if(result.indexOf(str)!=-1)
            {
                result=result.replace(str, ",");
                bw.write(result);
                bw.write("\n");
            }
            result=br.readLine();
        }
        bw.flush();
       
        in.close();
        out.close();
        bw.close();
        br.close();
       
    }
    public static void main(String[] args)
    {
        try
        {
            System.out.println("start change");
            productRoleMapFile();
            System.out.println("success end");
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

 这样就得到比较简单的键值文件了,如下:

 

角色ID角色名称
APPROVER批准者
APPROVER_LEVEL_1批准者 - 级别 I
APPROVER_LEVEL_2批准者 - 级别 II

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值