gpt4 book ai didi

java - 将 2 个反斜杠替换为一个

转载 作者:行者123 更新时间:2023-11-29 07:17:40 25 4
gpt4 key购买 nike

我检查了这些问题,但找不到解决方案。

我有属性文件,用户可以在其中存储文件的位置。

例如:

location = C:\images

在对他的回应中,我必须打印出 location 属性,它会这样打印:

C:images

如果我放置位置:

C:\\images\\

它像这样打印(就好像它没有处理字符串:

C:\\images\\

我希望它简单地打印 C:\images\

我该怎么做?

这也适用于我想写这样一个 HTML 标签的地方:

<img src ='"+locations+"'>

大多数浏览器会使用双反斜杠提取位置,但我不喜欢依赖它。

编辑

对不起 - 我的错误。现在这个问题很好。请无视C:\不被浏览器访问的脸

编辑

我正在为客户端响应使用 Jerrsey 实现,它使用 Jax-B 编写这样的响应:

    com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(Object t, MediaType mediaType, Charset c, Marshaller m, OutputStream entityStream) throws JAXBException:

protected void writeTo(Object t, MediaType mediaType, Charset c,
Marshaller m, OutputStream entityStream)
throws JAXBException {
m.marshal(t, entityStream);
}

输出流是com.sun.jersey.spi.container.ContainerResponse.CommittingOutputStream

我看到只加载了 1 个属性。

我从 WizTools.org 在我的休息客户端工具中得到响应

会不会是问题所在?

最佳答案

您需要转义反斜杠,而不是正斜杠。所以如果你有一个属性文件:

location = c:\\images\\

那应该没问题。

例如,这是一个小型控制台应用程序:

import java.io.*;
import java.util.*;

public class Test {
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
// Would normally close the stream, of course :)
properties.load(new FileInputStream("test.properties"));
System.out.println(properties.getProperty("location"));
}
}

给定一个 test.properties 文件,该文件包含前面显示的行,打印出 c:\images\ 没有问题。

关于java - 将 2 个反斜杠替换为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8224999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com