Saltar al contenido principal

Guardar archivo

Abrir en ChatGPT
Sombra 24.21
Java API

FileSaveDialog es un diálogo modal diseñado para permitir a los usuarios guardar un archivo en una ubicación especificada en el sistema de archivos del servidor. El diálogo bloquea la ejecución de la aplicación hasta que el usuario proporciona un nombre de archivo y confirma la acción o cancela el diálogo.

Usos​

El FileSaveDialog proporciona un método simplificado para guardar archivos en el sistema de archivos, ofreciendo opciones configurables por el usuario para el nombramiento de archivos y el manejo de archivos existentes.

Resultado​

El FileSaveDialog devuelve la ruta seleccionada como una cadena. Si el usuario cancela el diálogo, el resultado será null.

Propósito del Diálogo

Este diálogo no causa realmente que se guarden archivos, sino que devuelve el nombre de archivo que el usuario ha seleccionado.

info

La cadena resultante se devuelve desde el método show() o el método equivalente de OptionDialog como se demuestra a continuación.

String result = OptionDialog.showFileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");

if (result != null) {
OptionDialog.showMessageDialog("Ruta seleccionada: " + result, "Ruta Seleccionada");
} else {
OptionDialog.showMessageDialog("No se ha seleccionado ninguna ruta", "Ruta Seleccionada",
MessageDialog.MessageType.ERROR);
}

Acción de existencia​

El FileSaveDialog proporciona un comportamiento configurable cuando un archivo con el nombre especificado ya existe:

  • ACCEPT_WITHOUT_ACTION: La selección es aceptada sin acción adicional del usuario.
  • ERROR_DIALOGUE: Se presenta al usuario un diálogo de error; la selección no está permitida.
  • CONFIRMATION_DIALOGUE: Se presenta al usuario un diálogo solicitando confirmación. Este es el predeterminado.
FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");
dialog.setExistsAction(FileSaveDialog.ExistsAction.ERROR_DIALOGUE);
String result = dialog.show();

Modo de selección​

El FileSaveDialog admite diferentes modos de selección, permitiéndole personalizar el método de selección según sus necesidades específicas:

  1. FILES: Permite la selección de archivos solamente.
  2. DIRECTORIES: Permite la selección de directorios solamente.
  3. FILES_AND_DIRECTORIES: Permite la selección de archivos y directorios.

Ruta inicial​

Especifique el directorio donde se abrirá el diálogo utilizando la ruta inicial. Esto ayuda a los usuarios a comenzar en un directorio lógico para su operación de guardado.

FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");
String result = dialog.show();

Restricción​

Puede restringir el diálogo a un directorio específico, evitando que los usuarios naveguen fuera de él utilizando el método setRestricted(boolean restricted).

FileSaveDialog dialog = new FileSaveDialog(
"Guarde su archivo", "/home/user/documents", "reporte.xls");
dialog.setRestricted(true);
dialog.show();

Nombre de archivo​

Establezca un nombre de archivo predeterminado para la operación de guardado para guiar a los usuarios y minimizar errores.

FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo");
dialog.setName("reporte.xls");
String result = dialog.show();

Internacionalización (i18n)​

Utilice FileChooserI18n para personalizar los títulos, descripciones, etiquetas y mensajes del diálogo para diferentes locales o requisitos de la aplicación.

FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo");
FileChooserI18n i18n = new FileChooserI18n();
i18n.setChoose("Elegir");
i18n.setCancel("Cancelar");
dialog.setI18n(i18n);

Filtros​

El FileSaveDialog le permite establecer filtros para limitar los tipos de archivos que se pueden guardar utilizando el método setFilters(List<FileChooserFilter> filters).

Filtros personalizados​

Puede habilitar filtros personalizados para permitir a los usuarios definir sus propios filtros de archivos utilizando el método setCustomFilters(boolean customFilters). Los filtros se guardan en el almacenamiento local por defecto y se restauran en invocaciones posteriores del diálogo.

FileSaveDialog dialog = new FileSaveDialog("Guarde su archivo", "/home/user/documents");
dialog.setCustomFilters(true);
String result = dialog.show();

Mejores prácticas​

  • Nombres de Archivo Predefinidos: Proporcione un nombre de archivo predeterminado lógico cuando sea aplicable.
  • Confirmar Sobreescrituras: Use CONFIRMATION_DIALOGUE para ExistsAction para evitar sobreescrituras accidentales.
  • Ruta Inicial Intuitiva: Establezca una ruta inicial que se alinee con las expectativas del usuario.
  • Internacionalización: Personalice el texto del diálogo para mejorar la usabilidad para audiencias internacionales.
  • Filtros de Tipo de Archivo: Aproveche los filtros para restringir tipos de archivos y guiar a los usuarios hacia extensiones de archivos válidas.

Sigue aprendiendo