Barra em caminhos de arquivos

Vi dia desses em um post de Raymond Camden uma proposta para determinar qual é a barra (“/” normal ou “” invertida, para *nix e Windows, respectivamente) que o sistema no qual o CF está instalado utiliza. Essa é uma preocupação normal de programadores conscientes e mais ainda de quem desenvolve em Windows e sabe que fará o deploy em outra plataforma.

Eu costumo ter um arquivo de configuração da aplicação em XML, que além do “file separator” contém outras informações, como servidor de e-mail, datasource, caminhos, etc, e na inicialização da aplicação, salvo tais informações no escopo application. Mas a solução proposta por ele, utilizando o Java para determinar qual o separator, é bem prática (e também pode ser salva no application), mas pode ser inviável para aplicações em hostings compartilhados:

<cfset separator = createObject("java","java.io.File").separator>