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.
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.

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.

El código fuente completo puede encontrarse en GetContentsAction.java.
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();
}
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);
}
}
}