<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Miguel Oswaldo</title>
    <description>The latest articles on DEV Community by Miguel Oswaldo (@oswaldo_d3v).</description>
    <link>https://dev.to/oswaldo_d3v</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F223857%2Fb4969186-6fbe-405f-a400-508717d7141c.png</url>
      <title>DEV Community: Miguel Oswaldo</title>
      <link>https://dev.to/oswaldo_d3v</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oswaldo_d3v"/>
    <language>en</language>
    <item>
      <title>Introducción a Google Dorks</title>
      <dc:creator>Miguel Oswaldo</dc:creator>
      <pubDate>Wed, 26 Feb 2020 17:46:53 +0000</pubDate>
      <link>https://dev.to/oswaldo_d3v/introduccion-a-google-dorks-2oc</link>
      <guid>https://dev.to/oswaldo_d3v/introduccion-a-google-dorks-2oc</guid>
      <description>&lt;p&gt;El objetivo de este articulo es comprender que es Google Dorks como utilizarlo, esto solo es una introducción no se compartirán exploits ni se realizaran búsquedas que expongan la privacidad de otros este material esta centrado en obtener mas información de este tipo por medio de esta herramienta.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Que es Google Dorks?&lt;/strong&gt; Google Dorks o también conocido como Google Hacking no es mas que el realizar búsquedas avanzadas por medio de operadores de filtrado, esta técnica es muy utilizada para extraer información valiosa o sensible de sitios web vulnerables a través de Google. Es necesario aclarar que un sitio web no es mas que un conjunto de archivos alojados en un servidor(Computador), los cuales pueden ser accedidos por medio de una dirección url.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;¿Como funciona Google Dorks?&lt;/strong&gt; Para entender esto primero debemos saber como funciona un motor de búsquedas, según la definición de motor de búsqueda(Puedes leerla en el siguiente parrafo) nos dice que es un programa que se encarga de localizar contenidos(Archivos) en internet, para luego en función a peticiones presentar resultados previamente almacenados en una base de datos. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Básicamente un &lt;strong&gt;motor de búsqueda&lt;/strong&gt; es un software o programa que localiza contenidos en Internet de una forma rápida y muy eficiente &lt;strong&gt;para&lt;/strong&gt; luego, en función de tus peticiones de &lt;strong&gt;búsqueda&lt;/strong&gt;, presentarte los resultados que ha almacenado previamente en su base de datos.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;En palabras mas simples Google y otros motores de búsqueda se encargan de buscar archivos por todo internet y cada vez que encuentran uno, toman nota de su dirección exacta en un cuaderno(Base de datos). Lo que Google Dorks nos permite es realizar filtrados en todas esas direcciones por ejemplo podríamos pedirle a Google que nos muestre solo resultados que nos lleven a un tipo de archivo en especifico, o que nos muestren direcciones url que presentan un fragmento de texto. A continuación te dejare una tabla con algunos operadores básicos.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operador&lt;/th&gt;
&lt;th&gt;Descripción&lt;/th&gt;
&lt;th&gt;Ejemplo&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;""&lt;/td&gt;
&lt;td&gt;Muestra resultados que contengan la frase o una palabra exacta.&lt;/td&gt;
&lt;td&gt;"Hacking Etico"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Antes de una palabra, nos permite realizar una búsqueda que NO incluya esa palabra.&lt;/td&gt;
&lt;td&gt;-Hacking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;+&lt;/td&gt;
&lt;td&gt;Nos permite realizar una búsqueda que incluya obligatoriamente esa palabra.&lt;/td&gt;
&lt;td&gt;Hacking +etico&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;*&lt;/td&gt;
&lt;td&gt;Una palabra (la que sea)&lt;/td&gt;
&lt;td&gt;* etico&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.&lt;/td&gt;
&lt;td&gt;Varias palabras (las que sean)&lt;/td&gt;
&lt;td&gt;como .&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AND&lt;/td&gt;
&lt;td&gt;Permite realizar búsquedas que contengan dos términos.&lt;/td&gt;
&lt;td&gt;Hacking AND Etico&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;\&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Búsquedas que contengan un término u otro.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;filetype&lt;/td&gt;
&lt;td&gt;Muestra todos los resultados de una búsqueda con una extensión de archivo específica. Tiene, como entenderá, más sentido cuando lo unimos a una búsqueda concreta.&lt;/td&gt;
&lt;td&gt;filetype:pdf&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;site&lt;/td&gt;
&lt;td&gt;Realizar la búsqueda en una página específica.&lt;/td&gt;
&lt;td&gt;site:com, site:wikipedia.org&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Hay algunos operadores que no funcionan por si solos es necesario combinarlos con otros operadores y de hecho esa es la manera en la que podemos sacar el mayor provecho. Pero para que puedas entender como funciona cada uno de ellos te dejare una serie de ejemplos, empezando por la utilización de las comillas dobles como ejemplo e seleccionado un pequeño fragmento de un articulo escrito en medium&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ad22jAua--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/27e1c6e2c921a97820a88.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ad22jAua--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/27e1c6e2c921a97820a88.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Después e realizado la búsqueda de este fragmento en Google y quiero que notes dos cosas, la primera de ellas es los resultados que devuelve Google he utilizado la herramienta de &lt;em&gt;Buscar en esta pagina&lt;/em&gt; de Firefox y le e pedido que me marque todos los lugares donde se muestra el texto exacto de mi búsqueda, también te dejo una captura para que puedas ver la cantidad de resultados que Google muestra.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R0lAHzbn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/71eb98a7a8fc499f677bc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R0lAHzbn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/71eb98a7a8fc499f677bc.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UrwR-18_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/ac7c5a3735d889f38d069.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UrwR-18_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/ac7c5a3735d889f38d069.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Puedes notar que no esta encontrando la frase exacta me muestra resultados con frases similares y son muchos resultados ni siquiera aparece el articulo del que copie el texto. Ahora realizare la búsqueda utilizando las comillas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ilRY6uyD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/ba85684181dc37d65614d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ilRY6uyD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/ba85684181dc37d65614d.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M-i1S_8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/f3d7852899e5f704f09fc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M-i1S_8x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/f3d7852899e5f704f09fc.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notas la diferencia? Al utilizar las comillas muestra menos resultados pero en esos resultados coincide la frase que yo estoy buscando, puedes realizar este ejemplo y te darás cuenta de algo muy importante y que siempre hay que tener presente, como puedes ver en las imágenes ninguno de esos enlaces conduce a medium, esto se debe a que esta técnica nos funciona para obtener información de sitios vulnerables. Te invito que hagas este ejemplo haca te dejo el &lt;a href="https://medium.com/espanol/nadie-naci%C3%B3-en-un-lugar-para-quedarse-10d12889c325"&gt;enlace&lt;/a&gt; al articulo de medium al realizar la búsqueda con comillas abre el primer resultado que te muestra Google y compara :') Bien pasemos al siguiente operador para demostrar como funciona este e realizado la siguiente búsqueda &lt;em&gt;"Windows no reconoce mi"&lt;/em&gt;  y en los resultados podemos notar que uno de los problemas mas comunes es que Windows no reconozca una USB luego e usado el operador de guion medio y podrás notar la diferencia.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BrDaVubF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/04422a03ab95abb0b83ff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BrDaVubF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/04422a03ab95abb0b83ff.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yXbFKauu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/42e7dc72b4c3eee90b660.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yXbFKauu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/42e7dc72b4c3eee90b660.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora realizare la búsqueda utilizando el operador mas&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PMuxGi2s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/10795daaa705ac8ad1e55.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PMuxGi2s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/10795daaa705ac8ad1e55.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podemos notar una diferencia entre el operador de comillas dobles y los operadores de guion medio, mas el primero me realiza búsquedas exactas es decir me es útil cuando se exactamente lo que necesito los otros dos me realizan búsquedas mas generales pero bajo ciertos parámetros. Los operadores de punto y asterisco también me permiten realizar búsquedas generales.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M1I3tv2J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/871ea70ae09c40ab83db1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M1I3tv2J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/871ea70ae09c40ab83db1.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XpksLi9I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/2fecfc0ae144401e9f34c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XpksLi9I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/2fecfc0ae144401e9f34c.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Como puede observar estoy combinando operadores, realizare lo mismo para el resto de operadores, solo necesito que entiendas algo para sacar el máximo provecho al operador site, para sacarle el máximo provecho necesitas saber que son los nombres de dominios en  internet no son mas que esas exenciones que vemos en las direcciones urls estas extensiones se asignan a organizaciones predeterminadas como por ejemplo la extensión .com se asigna a empresas o la extension .org esta reservada para organizaciones sin fines de lucro, haca te dejo un pequeño listado con las mas comunes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gov&lt;/strong&gt;  Los asignan instituciones de gobierno por país&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;edu&lt;/strong&gt; Uso exclusivo para universidades, secundarios, primarias y instituciones relacionadas a la educación &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;tv&lt;/strong&gt; Los usan principalmente empresas de vídeo, cine y televisión.»  mobi, Para utilizarse en sitios compatibles con dispositivos móviles&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;info&lt;/strong&gt; Dominios diseñados principalmente para la difusión de información &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;asia&lt;/strong&gt; Para compañías, organizaciones e individuos localizados en Asia, Australia y el Pacifico &lt;/li&gt;
&lt;li&gt; &lt;strong&gt;biz&lt;/strong&gt; Se pueden usar para actividades comerciales y de negocios
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;cc&lt;/strong&gt;  Esta extensión puede ser útil para aquellos que pretenden conseguir un  dominio global y no tienen posibilidad de conseguir un .com &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ws&lt;/strong&gt;  Siglas que se identifican con Web Site, se trata de una opción para cualquier tipo de web &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;xxx&lt;/strong&gt; Para sitios con contenido sexual o pornográfico
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;name&lt;/strong&gt; Destinado al registro de nombres propios, apodos, etc.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pro&lt;/strong&gt; Para uso específico reservado a profesionales de determinadas categorías, agrupados en subdominios. Ejemplo: .med.pro (médicos) &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mil&lt;/strong&gt; Uso exclusivo para los militares de los Estados Unidos
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;coop&lt;/strong&gt; Reservado a las cooperativas y para registrarlo hace falta demostrar la  existencia de la cooperativa a través del organismo local  correspondiente &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;museum&lt;/strong&gt;  El uso de este dominio es exclusivo de los museos
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;travel&lt;/strong&gt;  Para uso por agencias de viajes o destinos turísticos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bien ahora realizamos una búsqueda con el operador filetype y el comillas dobles&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SxxIQCG_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/0890d76627deb26f0f671.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SxxIQCG_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/0890d76627deb26f0f671.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Le pido a Google que me muestre todos los documentos pdf de un sitio en especifico &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mwT426bm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/627333ce7ca34ca3b10d7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mwT426bm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/627333ce7ca34ca3b10d7.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora busco los documentos pdf en un sitio especifico pero que contengan la palabra android&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pw-REQfA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/a95a9b6539efc567ecbb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pw-REQfA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/a95a9b6539efc567ecbb8.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uso el operador or para solicitar todos los documentos que contengan la palabra android y la palabra servidor&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ggeb53ue--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/f9fdc8a7e49038f76fa0e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ggeb53ue--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/f9fdc8a7e49038f76fa0e.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Buscando documentos de word en paginas con dominio gov &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sJg2G54c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/0da376e8c7d7a88e5c98a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sJg2G54c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://telegra.ph/file/0da376e8c7d7a88e5c98a.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google Dorks es una herramienta muy poderosa para recolectar información, no queda mas que darte las gracias por leer el articulo espero te halla servido a un que son operadores muy básicos son esenciales para buscar información si te interesa aprender sobre esto puedes usar el ejemplo de filetype:pdf "Google Dorks" encontraras mucha información la manera mas rápida para dominar esta tecnifica es practicando y observando como otras personas combinan los operadores, por ultimo te dejo un enlace a mi canal de &lt;a href="https://t.me/caminoGeek"&gt;Telegram&lt;/a&gt; en el que compartiré contenido similar a este, asta la próxima 👋  &lt;/p&gt;

</description>
      <category>googledorks</category>
      <category>espanol</category>
    </item>
    <item>
      <title>Archivos de propiedades en Java</title>
      <dc:creator>Miguel Oswaldo</dc:creator>
      <pubDate>Fri, 06 Sep 2019 17:44:31 +0000</pubDate>
      <link>https://dev.to/oswaldo_d3v/archivos-de-propiedades-en-java-84i</link>
      <guid>https://dev.to/oswaldo_d3v/archivos-de-propiedades-en-java-84i</guid>
      <description>&lt;p&gt;Muchas veces necesítanos conservar información después de la ejecución de nuestros programas y el utilizar una base de datos para una pequeña aplicación no suele ser la mejor opción sería como comprar un Ferrari para ir a nuestro lugar de trabajo que se encuentra a 2km de distancia.&lt;/p&gt;

&lt;p&gt;Para estas situaciones Java nos permite almacenar información en archivos properties o archivos de propiedades, estos no son más que archivos de texto es decir podemos abrirlos y editarlos con el blog de notas así de simple y como son archivos la información en ellos no se perderá después de la ejecución de nuestra aplicación el utilizarlos es muy simple solo necesitaremos unas cuantas clases de 2 paquetes de java.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;java.util

&lt;ul&gt;
&lt;li&gt;Properties&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;java.io

&lt;ul&gt;
&lt;li&gt;FileInputStream&lt;/li&gt;
&lt;li&gt;FileOutputStream&lt;/li&gt;
&lt;li&gt;InputStream&lt;/li&gt;
&lt;li&gt;OutputStream&lt;/li&gt;
&lt;li&gt;IOException&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Para empezar a realizar esta tarea crearemos una clase en la cual se encuentren los métodos que nos permitirán acceder al valor de una propiedad, así como también el agregar nuevas propiedades o cambiar su valor&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.Properties&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileInputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileOutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.InputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.OutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;



&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Crearemos cuatro objetos privados, el primero será un objeto de tipo &lt;code&gt;Sting&lt;/code&gt; en el que almacenaremos la ruta del archivo que utilizaremos como nuestro archivo de propiedades.&lt;/p&gt;

&lt;p&gt;El segundo objeto será uno de tipo &lt;code&gt;Properties&lt;/code&gt; ya que en esta clase se encuentran los métodos necesarios para hacer set y get a las propiedades del archivo.&lt;/p&gt;

&lt;p&gt;El tercer objeto será un &lt;code&gt;InputStream&lt;/code&gt; por medio de este objeto la clase Properties puede leer el archivo.&lt;/p&gt;

&lt;p&gt;Como contraparte del objeto InputStream necesitamos uno que nos permita guardar la información en el archivo para realizar esta acción necesitamos un objeto de tipo &lt;code&gt;OutputStream&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.Properties&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileInputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileOutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.InputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.OutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para indicarle al objeto de tipo Properties cual sera el archivo de propiedades crearemos un meto en el que le diremos desde que archivo leer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;leerDesde&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FileInputStream&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;load&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;leerFichero&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"No se pudo cargar el archivo."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El objeto leerFichero de tipo &lt;code&gt;InputStream&lt;/code&gt; se inicializa con un objeto de tipo &lt;code&gt;FileInputStrem&lt;/code&gt; ya que la clase IntputStream es una clase abstracta y estas no pueden instanciarse la única manera es instanciar por medio de una clase hija que no sea abstracta, el constructor de la clase FileInputStream recibe como parámetro la dirección del archivo de propiedades, al ejecutar el método &lt;code&gt;load&lt;/code&gt; el objeto fichero de tipo Properties almacena las propiedades con su valor para que podamos utilizarlas en el momento que queramos.&lt;/p&gt;

&lt;p&gt;La estructura &lt;code&gt;try/catch&lt;/code&gt; evita que el programa se cierre al no encontrar el archivo indicado. Al tener las propiedades en objeto fichero crearemos un método que nos permita obtener el valor de cualquier propiedad&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;getPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Error al acceder al archivo."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El método para realizar esta tarea es muy simple creamos un objeto de tipo String llamado values en el que se almacenara el valor de la propiedad, y este valor lo obtenemos con el método &lt;code&gt;getProperty&lt;/code&gt; este método recibe un parámetro el cual es el nombre de la propiedad.&lt;/p&gt;

&lt;p&gt;Solo nos quedaría el realizar el método setPropiedad, ya que para este método lo que realizaremos es agregar o actualizar la información y después guardarla necesitaremos el objeto escribirFichero de tipo &lt;code&gt;OutputStream&lt;/code&gt; y al igual que InputStream, OutputStream también es una clase abstracta por lo cual creamos un objeto de tipo &lt;code&gt;FileOutputStream&lt;/code&gt; y el constructor de este recibe como parámetro la dirección donde se encuentra el archivo de propiedades.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;comentario&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FileOutputStream&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;store&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;escribirFichero&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;comentario&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Error al guardar cambios."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;El método &lt;code&gt;setPropiedad&lt;/code&gt; recibe 3 parámetros de tipo String el primero es el nombre de la propiedad a agregar o actualizar el segundo es su valor y el tercero es un comentario en el archivo.&lt;/p&gt;

&lt;p&gt;Para agregar los cambios al archivo utilizamos el método &lt;code&gt;setProperty&lt;/code&gt; de la clase Properties y para guardar los cambios utilizamos el método &lt;code&gt;store&lt;/code&gt; de la misma clase. La estructura &lt;code&gt;try/catch&lt;/code&gt; se asegura que el programa no se cierre bruscamente si algo sale mal. Realizamos una sobrecarga del método por si acaso no queremos dar un comentario. &lt;/p&gt;

&lt;p&gt;Por ultimo crearemos un constructor donde inicializaremos el objeto de tipo &lt;code&gt;Properties&lt;/code&gt; y la variable &lt;code&gt;directorio&lt;/code&gt; también ejecutaremos el método &lt;code&gt;leerDesde&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;FicheroDePreferencias&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

        &lt;span class="n"&gt;leerDesde&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ejecutar este método en el constructor es muy importante ya que si no ejecutáramos el método &lt;code&gt;load&lt;/code&gt; de la clase Properties antes que se ejecute la línea donde se inicializa el objeto escribirFichero  de tipo &lt;code&gt;OutputStream&lt;/code&gt; perderemos su contenido ya que constructor de la clase OutputStream evalúa si el archivo esta vacío y si no lo está borra su contenido dejándolo en blanco al ejecutar el método load guardamos el contenido del archivo en el objeto fichero y al ejecutar el método &lt;code&gt;setProperty&lt;/code&gt; agregamos la nueva información al objeto fichero cuando ejecutamos el método &lt;code&gt;store&lt;/code&gt; se reescribe toda la información guardada en el objeto fichero. El código final quedaría así:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.Properties&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileInputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.FileOutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.InputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.OutputStream&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.IOException&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;InputStream&lt;/span&gt; &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;OutputStream&lt;/span&gt; &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;leerDesde&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;leerFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FileInputStream&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;load&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;leerFichero&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"No se pudo cargar el archivo."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;getPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Propiedad no encontrada."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;comentario&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;escribirFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FileOutputStream&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;fichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;store&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;escribirFichero&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;comentario&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;err&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Error al guardar cambios."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;propiedad&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valor&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;    

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;FicheroDePreferencias&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;fichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Properties&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;directorio&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

        &lt;span class="n"&gt;leerDesde&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directorio&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;¿Solo faltaría probar la clase no? Bien para esto utilizare una clase llamada Test que tendrá el método principal y un ejemplo de lo que podemos hacer con los archivos properties.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.Scanner&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Test&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;Scanner&lt;/span&gt; &lt;span class="n"&gt;sc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Scanner&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;in&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt; &lt;span class="n"&gt;miFichero&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FicheroDePreferencias&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Test.properties"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;nombre&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;miFichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"nombre"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nombre&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Bienvenido "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;nombre&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;" te dije que no lo olvidaria :D"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hola cual es tu nombre? "&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;nombre&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextLine&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
            &lt;span class="n"&gt;miFichero&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setPropiedad&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"nombre"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;nombre&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Entendido no lo olvidare! :D"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="n"&gt;sc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdgii55djznkfwg3atx6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fdgii55djznkfwg3atx6n.png" alt="Imagen de ejecucion"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nuestro archivo Test.Properties se ve así después de la primer ejecución:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fht9998nyj3oxv4bdzlr7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fht9998nyj3oxv4bdzlr7.png" alt="Imagen de archivo properties"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nota: Los archivos Test.java, FicheroDePreferencias.java y Test.properties se encuentran todo en la misma carpeta, este ejercicio se desarrolló con Visual Studio Code, el archivo Test.properties en la primera ejecución del programa existe, pero está en blanco&lt;/p&gt;

</description>
      <category>java</category>
      <category>espanol</category>
    </item>
  </channel>
</rss>
