Rational Developer for System z, Versión 7.6

Recuperar el contenido de un archivo

Este ejemplo muestra cómo recuperar el contenido de un archivo (miembro de conjunto de datos o conjunto de datos secuencial) en el sistema de archivos MVS.

Escenario de ejemplo

Para recuperar el contenido del recurso, asegúrese de que el recurso esté seleccionado en el navegador y seleccione la acción Ejemplos de API > Obtener contenido de archivo.

Imagen de getContentsMenu

El contenido del archivo se visualiza en la salida estándar asociada al entorno de trabajo. Esto puede encontrarse en la ventana DOS desde la que se inició el entorno de trabajo o en la vista Consola del entorno de trabajo hospedante en el caso del entorno de trabajo de tiempo de ejecución.

Nota: La salida estándar de un entorno de trabajo iniciado con el icono Eclipse no puede ser visible.

Imagen de getContentsResults

Recorrido por el código de ejemplo

El código fuente completo puede encontrarse en GetContentsAction.java.

Leer del artefacto remoto

El fragmento de código siguiente del método run, de la clase GetContentsAction muestra cómo obtener el contenido de un archivo MVS (miembro de PDS o conjunto de datos secuencial). El fragmento de código diferencia entre un IPhysicalFile y un ILogicalFile pero el flujo general es el mismo para ambos. El código invoca primero el método getContents para obtener un InputStream. Una vez tenga un InputStream, los métodos estándar Java como por ejemplo read pueden invocarse para recuperar el contenido del archivo.

 InputStream is = null;
	if (selectedItem instanceof ILogicalFile) {
		// Proxy de proyectos para recurso
		ILogicalFile file = (ILogicalFile) selectedItem;
		filename = file.getName();
		is = file.getContents(); 
	} else if (selectedItem instanceof IPhysicalFile) {
		// Recurso físico
		IPhysicalFile file = (IPhysicalFile) selectedItem;
		filename = file.getName();
		is = file.getContents();
	}
	int ch = is.read();
	while (ch != -1) {
		System.out.write(ch);
		ch = is.read();
	}

Manejar eventos de cambio de selección

Este ejemplo también muestra cómo reaccionar a eventos de cambio de selección en Eclipse. La clase GetContentsAction implementa la interfaz ISelectionListener. La implementación del método selectionChanged correspondiente reacciona a eventos que hacen referencia a un IStructuredSelection, originado normalmente por un cambio en la selección actual de un navegador de árbol. El código de ejemplo itera sobre todos los elementos contenidos en la selección actual mediante un iterador asociado y añade cada elemento a una lista.

 public void selectionChanged(IAction action, ISelection selection) {
		fTargetList = null;
		if (selection instanceof IStructuredSelection) {
			fTargetList = new ArrayList();
			IStructuredSelection selections = (IStructuredSelection)
				selection;
			for (Iterator e = selections.iterator(); e.hasNext();) {
				Object next = e.next();
				fTargetList.add(next);
			}
		}
	}

Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)