Objektorientierter Ansatz

soa

Erfahrenes Mitglied
Hallo zusammen,

ich muss ein Programm nach einem festgelegtem Schema schreiben.
Das Programm soll soll über eine Datei auf dem system auskunft geben.
Die Datei kann der User über die Standardeingabe selbst bestimmen.

"Jede Datei Eigenschaft soll über eine eigene Methode implementiert werden!"

1. Methode:
Code:
public static boolean existiert(File eingabe)throws IOException{

       BufferedReader br = new BufferedReader(
  	                     new InputStreamReader(System.in));
  	                     String text = br.readLine();
  	
  	eingabe = new File (text); 
  	boolean exist = eingabe.exists();
  	if (exist == true)
  	System.out.print(" Die Datei existiert.");
  	else
  	System.out.print(" Die Datei existiert nicht.");
  	
  	return exist;	 
}//existiert

Jetzt kommt die nächste Methode, die mit der o.g. Eingabe weiterarbeiten soll:

Code:
public static void aenderungAusgeben(File eingabe){
try{
eingabe = new File(text); // Hier ist der Fehler
long geaendert = 0;
geaendert=eingabe.lastModified();
System.out.println ( "Letzte Aenderung am" + geaendert);
}
catch(Exception e){
  System.out.println ( "Fehler: " +e.getMessage());
  	}
  }//aenderungAusgeben

Leider kann ich so die Eingabe nicht von einer Methode zur Anderen weiterleiten.
Wie stelle ich das am Geschicktesten an?

Die methoden sind so in der Form vorgegeben

Vielen Dank
SOA
 
Hallo!

Suchst du vielleicht sowas:
Code:
package de.tutorials;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Date;

public class FileAnalyzer {

	private BufferedReader br;

	private File f;

	public FileAnalyzer() {
	}

	protected void start() {
		System.out.print("Datei: ");
		br = new BufferedReader(new InputStreamReader(System.in));
		try {
			String line = br.readLine();
			f = new File(line);
			if (!existiert()) {
				System.out.println("Datei existiert nicht!");
				//f.createNewFile(); So könnte man die Datei anlegen
			} else {
				System.out.println("Datei existiert!");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	protected boolean existiert() {
		return f != null && f.exists();
	}

	protected void änderungAusgeben() {
		if (existiert()) {
			long lastModified = f.lastModified();
			System.out.println("Letzte Änderung am: " + new Date(lastModified));
		}
	}

	public static void main(String[] args) {
		FileAnalyzer fa = new FileAnalyzer();
		fa.start();
		fa.änderungAusgeben();
	}
}

Gruß Tom
 
Hallo Tom,

wow, das hast du mal eben kurz das Programm neu geschrieben...
Vielen Dank erst einmal für deine Mühe.

Nun ist es jedoch so, dass ich mich an eine java.doc zu halten habe.

1.--------------------------------------------------------------------------------
existiert
public static boolean existiert(java.io.File eingabe)
throws java.io.IOExceptionPrüft, ob die übergebene Datei existiert und gibt das Ergebnis als Boolean zurück
Parameters:
File - eingabe: zu überprüfende Datei
Returns:
boolean: Datei existiert?
-----------------------------------------------------

So, nun muss ich der nächsten Mothode mit den Daten, die über die Methode existiert()
eingelesen wurden, weiterarbeiten.

Java Doc:
aenderungAusgeben
public static void aenderungAusgeben(java.io.File eingabe)Gibt die letzte Änderung der übergebenen Datei auf der Standardausgabe aus.
Parameters:
File - eingabe: zu verarbeitende Datei

--------------------------------------------------------------------------------

Ich möchte eigentlich nur wissen, wie ich die Variable text, die als Methoden-variable deklariert ist in der Methode aenderungAusgeben() wieder verwenden kann.
Alles andere wäre mogeln... ;-]

Ich habe es so versucht:

Klasse object = new Klasse();
object.eingabe(text);

geht nur leider nicht...

Gruß
SOA
 
Wenn du eben an diese Definitionen gebunden bist könntest du doch einfach
den Text in einer statischen Variablen Zwischenspeichern...

Gruß Tom
 
Zurück