No console acima observamos que não temos nenhum arquivo no dirertório c:\test (observe o 0 Files).
Logo a seguir criamos uma segunda stream no arquivo teste.txt chamada segunda_stream (ok, estou sem criatividade agora). Como o exemplo demonstra, a sintaxe para nomes de streams alternativas é:
nome_arquivo.ext:nome-stream
Mas como podemos verificar se um arquivo possui ou não streams alternativa? Simples; se você possui uma versão do Windows anterior ao Vista baixe o programa streams.exe do site Sysinternals.com.
Como podemos observar o programa detectou a stream segunda_stream.
Por outro lado, se você esta utilizando o Windows Vista basta acrescentar o parâmetro /r ao comando dir.
Algumas considerações importantes:
- Apesar de muitos programas não trabalharem corretamente com stream a Win32 API não apresenta problemas para lidar com as mesmas (por exemplo a função CreateFile() trata nomes de arquivos com streams corretamente).
- Você pode utilizar streams alternativas para armazenar dados extras de um programa sem dar muito na cara :).
- O Windows Vista (build 5365) apresentou várias anomalias enquanto eu estava escrevendo este post (entre elas, o Explorer foi pro cacau várias vezes, o IE deu PT pelo menos uma vez, a performance para navegar no sistema de arquivos esta uma *$&*&@*, etc.); de qualquer forma não poss me esquecer que estou usando um produto beta.
- Falem o que quiser... o visual do Vista esta cada vez melhor! Aero, Side bar, Miniaturas na task bar, etc.
Bem, espero que tenham achado este post útil :)
[]'s
Adriano
[+/-] mostrar/esconder este post