Cambiar atributos de archivos

¿Que tal colegas?

Estoy ocupando la clase File para manipular archivos, y editar propiedades como el setReadOnly(), que ya incluye dicha clase. Sin embargo, también necesito ocultar el archivo, es decir, ponerle como atributo "oculto", pues se trata de un archivo de propiedades que estoy generando.

¿Alguien conoce cómo hacerlo?

De antemano, gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de darklatiz

Buscando en google...

Una busqueda en google aparece esto, al parecer no hay una manera tan directa de hacerlo he encontrado este link Link 1 y Link 2 y al parecer con java 7 hay classes que ya lo hacen es cuestion de echarles un ojo. Java 7 Solución

Saludos, checa estas soluciones y si te sirven postea tu resultado.

Imagen de nekio

Gracias!!!

Muchas gracias por tu ayuda darklatiz, me funcionó muy bien... la manera más sencilla que vi para implementar lo que necesitaba fue esta:

try{
String archivo="C:\\Users\\USUARIO-PC\\Mis Documentos\\archivoDePrueba.txt";
Runtime.getRuntime().exec("attrib +H "+archivo);
}catch(Exception e){}

Imagen de Cid

Desafortunadamente era la única forma que conocía

Si es cierto Runtime lo hace pero como dicen los post rompe con el objetivo de java de ser un lenguaje de plataforma independiente ya que al usar Runtime.getRuntime.exec(), lo que estas haciendo es llamar a la consola del sistema operativo nativo. Y gracias a tu pregunta pues logre observar que en el JDK 7 ya te proporcionan un paquete java.nio.file para poder lograr ese proposito, sin usar de forma peligrosa Runtime pues en la ejecución de otros programas ajenos a java no sabrias que otras cosas hay detras. Y con el código que te ponen, yo se que es dificil pero la doc de la API de Java 7 nos puede ayudar a entender este código que creo a mi parecer es más seguro. Gracias de nuevo por preguntar.
Imagen de nekio

=)

SrCid, ciertamente es más seguro ocupar las clases que ocupan la JVM que mandar a llamar a algún procedimiento ajeno. Gracias por la observación. Por lo visto me es más eficiente cambiar a la JDK7 e implementar sus nuevas clases, pues aun ocupo una version del JDK6.

Saludos!

Imagen de darklatiz

Yo creo...

Yo creo que aún utilizando la solución de la version 6 es buena, por ejemplo si ese programa quisieras que corriera en Linux simplemente tendrías que obtener en que sistemea operativo esta corriendo utilizando algun argumento y dependiendo de este argumento ejecutar el comando correspondiente. Además viendo más detenidamente la solución 7, solo visto, encontre este parametro dos:hidden esto para mi parace muy dependiente del Sistema Operativo, sería cuestión de echar algo de tecla y probarlo en varios SO's.

Saludos.