Dieses Beispiel veranschaulicht, wie der Inhalt einer Datei (Dateimember oder sequenzielle Datei) im MVS-Dateisystem abgerufen wird.
Wenn Sie den Inhalt der Ressource abrufen möchten, stellen Sie sicher, dass die Ressource im Navigator ausgewählt ist. Wählen Sie anschließend die Aktion API-Beispiele > Dateiinhalt abrufen aus.
Der Dateiinhalt wird in der der Workbench zugeordneten Standardausgabe angezeigt. Diese können Sie in dem DOS-Fenster, von dem aus die Workbench gestartet wurde, oder bei Verwendung der Laufzeitworkbench in der Ansicht 'Konsole' der Host-Workbench sehen.

Den vollständigen Quellcode finden Sie unter GetContentsAction.java.
Das folgende Codefragment aus der Methode run der Klasse GetContentsAction veranschaulicht, wie der Inhalt einer MVS-Datei (PDS-Member oder sequenzielle Datei) abgerufen wird. In dem Fragment wird zwischen IPhysicalFile und ILogicalFile unterschieden, der generelle Ablauf ist jedoch für beide gleich. Im Code wird zuerst die Methode getContents aufgerufen, um einen InputStream abzurufen. Sobald Sie über einen InputStream verfügen, können die Java™-Standardmethoden aufgerufen werden, beispielsweise read, um den Inhalt der Datei abzurufen.
InputStream is = null;
if (selectedItem instanceof ILogicalFile) {
// Project proxy for resource
ILogicalFile file = (ILogicalFile) selectedItem;
filename = file.getName();
is = file.getContents();
} else if (selectedItem instanceof IPhysicalFile) {
// Physical Resource
IPhysicalFile file = (IPhysicalFile) selectedItem;
filename = file.getName();
is = file.getContents();
}
int ch = is.read();
while (ch != -1) {
System.out.write(ch);
ch = is.read();
}
Dieses Beispiel veranschaulicht auch, wie Sie auf Auswahländerungsereignisse in Eclipse reagieren können. Die Klasse GetContentsAction implementiert die Schnittstelle ISelectionListener. Ihre Implementierung der Methode selectionChanged reagiert auf Ereignisse, die sich auf eine IStructuredSelection beziehen und normalerweise durch eine Änderung der aktuellen Auswahl in einer Baumstruktur verursacht werden. Im Beispielcode werden alle in der aktuellen Auswahl enthaltenen Elemente mithilfe eines der Auswahl zugewiesenen Iterators durchlaufen und zu einer Liste hinzugefügt.
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);
}
}
}