Problemas com arquivo .Properties

Pessoal, estou tentando retirar a minha sql de dentro do meu código java ( que é o correto ), utilizando um arquivo .properties . Porêm estou com dois problemas:

Problema 1) Verificando que depois que eu carrego a minha sql, e dou um “setString()” o PreparedStatement ao invés de simplesmente substituir o ? da sql pela minha string ele está acrescentando um ’ no início e no final da minha string que estou passando pelo setString. Alguem sabe como resolver isso???

Problema 2) A minha sql tem que ficar em somente uma linha no meu arquivo Properties? Porque a minha sql é muito grande, então quando o meu código estava dando erro, percebí que ele estava pegando somente a primeira linha da sql.
A minha sql tem que ficar em somente uma linha no meu arquivo Properties mesmo?

        try{
            consulta.load(new FileInputStream("C:\\eclipse\\workspace\\sass\\src\\pRelatorios\\pRelatoriosContabilidade\\relatorios.properties"));
        }
        catch( ... )
        {
                 ...
        }
        try{

      			gerente = GerenteDeConexao.getGerenteDeConexao();
            conn = gerente.getConnection(0);
            pstmt = conn.prepareStatement(consulta.getProperty("balancete4Colunas"));
            query = consulta.getProperty("balancete4Colunas");

            pstmt.setString(1, "'"+inicioMesReferencia+"'");
            pstmt.setString(2, "'"+inicioMesReferencia+"'");
            pstmt.setString(3, "'"+finalMesReferencia+"'");
            pstmt.setString(4, "'"+inicioMesReferencia+"'");
            pstmt.setString(5, ordem1);
            pstmt.setString(6, ordem2);

      			
            rset = pstmt.executeQuery();

o meu .properties tá assim:


balancete4Colunas = select prestador.nome,  prestador.mascaracontacontabil as mascara, 
bal.mes, bal.indfechamento, pla.conta1, 

            ...

Primeiro, não há necessidade de fazer o que você está fazendo no setString (), faça assim

pstmt.setString(1, inicioMesReferencia);

Segundo, você mesmo respondeu a sua pergunta: