添加到java方法保存的文件中的不需要的反斜杠

添加到java方法保存的文件中的不需要的反斜杠,java,properties,fileoutputstream,Java,Properties,Fileoutputstream,在我的spring项目中,我的一个服务类使用此方法在磁盘中保存名为database.properties的文件: public void create_properties(String maquina, String usuario, String senha) { System.out.println("create_properties"); Properties props = new Properties(); props.setProperty("jdbc.

在我的spring项目中,我的一个服务类使用此方法在磁盘中保存名为database.properties的文件:

public void create_properties(String maquina, String usuario, String senha) {
    System.out.println("create_properties");
    Properties props = new Properties();

    props.setProperty("jdbc.Classname", "org.postgresql.Driver");
    props.setProperty("jdbc.url", "jdbc:postgresql://"+maquina+"/horario" );
    props.setProperty("jdbc.user", usuario );
    props.setProperty("jdbc.pass", senha );

    props.setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect");
    props.setProperty("hibernate.show_sql", "false");
    props.setProperty("hibernate.hbm2ddl.auto", "validate");

    FileOutputStream fos;
    try {
        fos = new FileOutputStream( "database.properties" );
        props.store( fos, "propriedades" );
        fos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
我的问题是属性jdbc:url应该是这样的:

jdbc:postgresql://localhost:5432/horario
但拯救的是:

jdbc\:postgresql\://localhost\:5432/horario

任何人都可以告诉我如何避免包含此反斜杠吗?

这样做完全正确-您正在保存一个属性文件,该文件使用反斜杠转义冒号之类的内容。从:

然后,写入此属性表中的每个条目,每行一个。对于每个条目,先写入键字符串,然后写入ASCII=,然后写入关联的元素字符串。对于键,所有空格字符都使用前面的\字符写入。对于元素,前导空格字符(而非嵌入或尾随空格字符)使用前一个\字符写入。键和元素字符#、!、=,和:用前面的反斜杠书写,以确保正确加载

如果您使用
properties.load
加载属性文件,您将在
properties
对象中获得原始字符串

如果不想将值存储在属性文件中,请使用
编写器
直接编写字符串