Noticias de AI Creator's Path: ¡Java 25 cambia las operaciones con archivos de Windows! Soluciona problemas de eliminación de archivos de solo lectura y de espacio final. ¡Imprescindible para desarrolladores! #Java25 #Windows #Paradesarrolladores
Explicación en vídeo
¿Un ligero cambio en el mundo Java? ¿Es cierto que las operaciones con archivos en Windows se actualizarán?
¡Hola a todos! Soy John y estoy aquí para responder a sus preguntas sobre el complejo mundo de la tecnología. Tras las computadoras y los teléfonos inteligentes que usamos a diario, hay muchos programas trabajando arduamente. Hoy, me gustaría presentarles uno de los lenguajes más comunes para crear este tipo de programas:Java Te traeremos pequeñas pero importantes noticias relacionadas con .
Algunos de ustedes se preguntarán: "¿Qué es Java?". Java es un lenguaje de programación que se utiliza en una amplia variedad de entornos, desde los sistemas de los sitios web hasta las aplicaciones de los smartphones Android, e incluso en los sistemas más importantes de grandes empresas. Incluso Java se actualiza periódicamente para mejorarlo.
Y ahora, la nueva versión "Java 2024", cuyo lanzamiento está previsto para septiembre de 9, incluirá algunos cambios en la gestión de archivos de los programas Java, especialmente en ordenadores Windows. ¿Suena complicado? No te preocupes, como siempre, ¡lo explicaré de forma sencilla!
Cambio 1: ¿Java ya no podrá eliminar "archivos de solo lectura" automáticamente?
El primer cambio es cómo se manejan los archivos que están configurados como "solo lectura".
¿Qué es un "archivo de sólo lectura"?
Como su nombre indica, este archivo se puede leer (visualizar), pero está protegido para que su contenido no se pueda reescribir ni eliminar accidentalmente. Los archivos de configuración importantes y similares pueden estar protegidos.
En el pasado, Java...
En versiones anteriores de Java, el programa decía "¡Elimina este archivo!" (término técnico) File.delete
Este es un comando para eliminar un archivo, e incluso si el archivo es de "solo lectura", Java será lo suficientemente inteligente como para desactivar temporalmente la configuración de "solo lectura" antes de eliminarlo. ¡Qué ingenioso! Pero hay una pequeña trampa.
¿Cuál fue el problema?
Los procesos de "eliminar la protección de solo lectura" y "eliminar un archivo" se procesan como pasos separados en Java. Por lo tanto, aunque es muy poco frecuente, si la eliminación no funciona correctamente por algún motivo (como un problema de sincronización) inmediatamente después de eliminar la protección de solo lectura, puede ocurrir que el archivo que ya no es de solo lectura (es decir, el archivo al que se le ha eliminado la protección) permanezca intacto. Este es un resultado imprevisto.
¿Qué es diferente de Java 25?
Por lo tanto, en el nuevo Java 25, el comando delete (File.delete
) se emite,Java ya no eliminará automáticamente los permisos de solo lectura.En su lugar, muestra información que indica que la operación falló, como "Este archivo es de sólo lectura y no se puede eliminar".false
Éste es un comportamiento más seguro y honesto.
Para los desarrolladores que dicen: "¡Realmente prefiero el comportamiento anterior!"
Por supuesto, puede haber programas creados con base en el comportamiento anterior. Para estos desarrolladores, implementaremos configuraciones especiales (denominadas propiedades del sistema) al ejecutar Java.-Djdk.io.File.allowDeleteReadOnlyFiles=true
Parece que al especificar el "hechizo mágico" (como "eliminar atributo de solo lectura"), es posible volver al comportamiento anterior de eliminar el atributo de solo lectura antes de eliminar. ¡Qué bueno que aún haya flexibilidad!
Cambio 2: ¡Sea más estricto con los espacios finales en los nombres de archivos y carpetas!
El segundo cambio importante es cómo se manejan los espacios (caracteres en blanco) que pueden aparecer fácilmente en los nombres de archivos o carpetas.
¿Cuál es el último espacio?
Por ejemplo, esto ocurre cuando se inserta un espacio al final del nombre de un archivo o carpeta, como "Documentos importantes". A veces es difícil notarlo con solo mirarlo.
El "último espacio" es un pequeño problema en Windows
De hecho, el sistema operativo Windows (el software básico que ejecuta su computadora) a menudo no considera un espacio al final del nombre de un archivo o carpeta como parte del nombre oficial. Es una regla un tanto inusual. Por ello, cuando un programa Java intenta crear u operar un archivo o carpeta cuyo nombre termina en espacio, a veces puede comportarse de forma imprevista.
En el pasado, Java...
En versiones anteriores de Java, al intentar operar con un archivo con un "nombre inválido con un espacio al final", el programa parecía exitoso, aunque no debería haber funcionado según las reglas de Windows. Por ejemplo, el comando para crear una carpeta (File::mkdir
Aunque la carpeta no se crea realmente, el programa no informa correctamente "fallido" o el comando para crear un nuevo archivo (File::createNewFile
etc.) no mostraría un error cuando debería, lo que podría causar problemas más adelante.
¿Qué es diferente de Java 25?
A partir de Java 25, si intenta utilizar una ruta con un espacio al final (como una dirección que muestra la ubicación de un archivo) para realizar operaciones con archivos en Windows,Informa constantemente errores y fallos diciendo "Windows no puede manejar ese nombre".Parece que
Específicamente
- Un comando para crear una carpeta (
File::mkdir
etc.) significa propiamente "fracaso"false
Devolverá el valor: - Un comando para crear un nuevo archivo (
File::createNewFile
) son "errores de entrada/salida" (término técnicoIOException
Esto provoca un problema llamado “perturbación”.
Esto permite que los programadores se den cuenta rápidamente de que "este método de nombres no funcionará en Windows", lo que facilita la creación de programas más estables.
¿Por qué se realiza este cambio?
Según Oracle, el desarrollador de Java, estos cambios son:Alcance de calidad"Es parte de eso. ¡Suena genial!
En otras palabras, se trata de una mejora para que Java sea más predecible y estable, conforme a las reglas de Windows, al ejecutarse en un entorno específico como Windows. Puede parecer simple, pero es fundamental para Java, que es la base de muchos programas.
¿Cuándo llegará Java 25?
Los cambios introducidos esta vez se incluirán en "Java 25", que se proporcionará en forma de "JDK 25". "JDK" significa Java Development Kit y puede considerarse como un conjunto de herramientas para desarrollar programas en Java.
Y este JDK 25,Versión LTS (soporte a largo plazo)En otras palabras, se ofrecerá como una versión con soporte a largo plazo. La versión LTS indica que se proporcionarán actualizaciones de seguridad durante un largo periodo; por así decirlo, "esta es una versión que se puede usar con tranquilidad durante mucho tiempo". Para muchas empresas y desarrolladores, la versión LTS es una opción importante.
La fecha de lanzamiento que te interesa es2024 de octubre de 9 ¡Ya casi está aquí!
Una palabra de John
¿Qué opinas de estos cambios en Java?
Puede que no sea un gran cambio que los usuarios finales perciban directamente a diario, pensando: "¡Guau, el movimiento de archivos ha cambiado!". Pero es una mejora entre bastidores que hace que el incontable software y servicios creados con Java sean más estables y funcionen con mayor precisión. Recordé que estas mejoras, una a una, aumentan la fiabilidad de la tecnología que sustenta nuestra vida digital.
Este artículo se basa en los siguientes artículos originales y se resume desde la perspectiva del autor:
Java 25 cambiará el comportamiento de las operaciones con archivos de Windows