<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/incubator-dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/incubator-dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.7.0</li>
<li>Operating System version: win10</li>
<li>Java version: 1.8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>meta-report address "zookeeper://192.168.1.10:2081,192.168.1.11:2081"</li>
<li>run dubbo project</li>
</ol>
<p dir="auto">Pls. provide [GitHub address] to reproduce this issue.</p>
<h3 dir="auto">Expected Result</h3>
<p dir="auto">What do you expected from the above steps？</p>
<h3 dir="auto">Actual Result</h3>
<p dir="auto">在org.apache.dubbo.metadata.support.AbstractMetadataReport类中</p>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="        // Start file save timer
        String filename = reportServerURL.getParameter(Constants.FILE_KEY, System.getProperty(&quot;user.home&quot;) + &quot;/.dubbo/dubbo-metadata-&quot; + reportServerURL.getParameter(Constants.APPLICATION_KEY) + &quot;-&quot; + reportServerURL.getAddress() + &quot;.cache&quot;);"><pre class="notranslate">        <span class="pl-c">// Start file save timer</span>
        <span class="pl-smi">String</span> <span class="pl-s1">filename</span> = <span class="pl-s1">reportServerURL</span>.<span class="pl-en">getParameter</span>(<span class="pl-smi">Constants</span>.<span class="pl-c1">FILE_KEY</span>, <span class="pl-smi">System</span>.<span class="pl-en">getProperty</span>(<span class="pl-s">"user.home"</span>) + <span class="pl-s">"/.dubbo/dubbo-metadata-"</span> + <span class="pl-s1">reportServerURL</span>.<span class="pl-en">getParameter</span>(<span class="pl-smi">Constants</span>.<span class="pl-c1">APPLICATION_KEY</span>) + <span class="pl-s">"-"</span> + <span class="pl-s1">reportServerURL</span>.<span class="pl-en">getAddress</span>() + <span class="pl-s">".cache"</span>);</pre></div>
<p dir="auto">其中reportServerURL.getAddress() 的内容是：“192.168.1.10:2081,192.168.1.11:2081”在win10下“:"是非法文件名字符，从而造成文件名错误。</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" WARN  org.apache.dubbo.metadata.store.zookeeper.ZookeeperMetadataReport-  [DUBBO] Failed to save service store file, cause: 文件名、目录名或卷标语法不正确。, dubbo version: 2.7.0, current host: 10.0.75.1
java.io.IOException: 文件名、目录名或卷标语法不正确。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1012)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport.doSaveProperties(AbstractMetadataReport.java:134)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport.access$100(AbstractMetadataReport.java:56)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport$SaveProperties.run(AbstractMetadataReport.java:228)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)"><pre class="notranslate"><code class="notranslate"> WARN  org.apache.dubbo.metadata.store.zookeeper.ZookeeperMetadataReport-  [DUBBO] Failed to save service store file, cause: 文件名、目录名或卷标语法不正确。, dubbo version: 2.7.0, current host: 10.0.75.1
java.io.IOException: 文件名、目录名或卷标语法不正确。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1012)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport.doSaveProperties(AbstractMetadataReport.java:134)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport.access$100(AbstractMetadataReport.java:56)
	at org.apache.dubbo.metadata.support.AbstractMetadataReport$SaveProperties.run(AbstractMetadataReport.java:228)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
</code></pre></div>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have searched the <a href="https://github.com/apache/dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have checked the <a href="https://github.com/apache/dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: xxx</li>
<li>Operating System version: xxx</li>
<li>Java version: xxx</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<ol dir="auto">
<li>xxx</li>
<li>xxx</li>
<li>xxx</li>
</ol>
<p dir="auto">Pls. provide [GitHub address] to reproduce this issue.</p>
<h3 dir="auto">Expected Result</h3>
<p dir="auto">What do you expected from the above steps？</p>
<h3 dir="auto">Actual Result</h3>
<p dir="auto">What actually happens?</p>
<p dir="auto">If there is an exception, please attach the exception trace:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Just put your stack trace here!"><pre class="notranslate"><code class="notranslate">Just put your stack trace here!
</code></pre></div>