首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在.Properties文件中搜索日语字符串消息

在.Properties文件中搜索日语字符串消息
EN

Stack Overflow用户
提问于 2016-02-24 00:36:09
回答 1查看 417关注 0票数 0

我有一条日语的字符串消息。我想搜索它并将其与具有键和值对的属性文件进行比较,如果与值匹配(日语),则返回Pass。在属性文件中,值是doble字节,需要转换成日语后才能进行比较。我不知道该怎么做。在下面的代码中写下.property文件。

System.out.println(sMessage);

代码语言:javascript
复制
if(sMessage != null){

// Read Property file using file reader 
// In property file, value is in doble byte , which needs to convert to japanese before comparison. Dont know how to do that.

                 BufferedReader br = null;
                    String strLine = "";
                    try {
                        br = new BufferedReader( new FileReader("C:\\common-test\\common-test\\translationtest\\messages_ja.properties"));
                        strLine = br.readLine().toString();
                        System.out.println(strLine);
                                br.readLine();
                    } catch (FileNotFoundException e) {
                        System.err.println("Unable to find the file: fileName");
                    } catch (IOException e) {
                        System.err.println("Unable to read the file: fileName");
                    }

                    if(Arrays.equals(sMessage.getBytes(), strLine.getBytes() ))
                    {
                        ReportResults("Pass", "Toaster message for Invalid Credentials" + sMessage + " equals test from property file: " + strLine,false);
                    }
                    else{
                        ReportResults("Fail",  "Toaster message for Invalid Credentials" + sMessage + " does NOT equals test from property file: " + strLine,true);
                    }


                //ReportResults("FAIL", "Login Failed: " + sMessage, true);
                //Assert.fail("Login failed: " + sMessage);
            }

下面附加的.properties文件

代码语言:javascript
复制
WM-SM-BE-0001=\u5FC5\u8981\u306A\uFF8A\uFF9F\uFF97\uFF92\uFF70\uFF80{0}\u3092\u5165\u529B    \u3057\u3066\u4E0B\u3055\u3044
WM-SM-BE-0002=\u7121\u52B9\u306A\u8A8D\u8A3C\u3002
WM-SM-BE-0003=\uFF95\uFF70\uFF7B\uFF9E\uFF70\u306F\u65E2\u306B\u5B58\u5728\u3002
WM-SM-BE-0004=\uFF9B\uFF70\uFF99\u540D\u306F\u65E2\u306B\u5B58\u5728\u3002
EN

回答 1

Stack Overflow用户

发布于 2016-02-24 01:19:11

属性文件始终编码为ISO-8859-1。因此,如果您希望自己正确可靠地读取数据,则需要指定它:

代码语言:javascript
复制
 br = new BufferedReader( new InputStreamReader(new FileInputStream("C:\\common-test\\common-test\\translationtest\\messages_ja.properties"),"ISO-8859-1"));

但这是在您想要将字符串与属性文件的完整第一行进行比较的情况下。如果您只想比较给定键的值,请使用Properties类,它会为您进行正确的读取。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35583048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档