Java Stream?!

MixXeD

Mitglied
Hi,

Ich hab ein Problem bei dem ich nicht mehr weiterkomme. Ich hab schon verschiedenes ausprobiert, aber es will einfach nicht funktionieren.
Die Aufgabe ist, dass ich Daten(Datum, Uhrzeit) in eine externe Datei schreiben soll. Das die mit einem Stream funktioniert ist mir auch klar nur ich bekomme immer den Fehler :
apps\MP1\src\MP1.java:97: cannot find symbol
symbol : variable FileOutputStream
location: class MP1
FileOutputStream = new FileOutputStream("file");
^
apps\MP1\src\MP1.java:97: cannot find symbol
symbol : class FileOutputStream
location: class MP1
FileOutputStream = new FileOutputStream("file");
^
2 errors
com.sun.kvem.ktools.ExecutionException
Build failed

obwohl ich eig. alles von java.io.*; importiert habe.

Ich hoffe ihr könnt mir helfen 🙂


Java:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import java.io.*;
import java.util.*;


public class MP1 extends MIDlet implements CommandListener{ 
                       
     private TextBox textbox;             
     private Display display;
     
     private Command CMD_Los;
     private Command CMD_Ende;

	 UhrTimerTask u1;
	 Timer t;
	 
     RecordStore rs = null;


            
public MP1 (){   

     textbox = new TextBox("Textbox", "...", 5000, TextField.ANY);
     display = Display.getDisplay(this);
  
     CMD_Los = new Command("Aufnehmen", Command.SCREEN, 1);
     CMD_Ende = new Command("Ende", Command.SCREEN, 1);
	 

     u1 = new UhrTimerTask();
	 t = new Timer();

     textbox.addCommand(CMD_Los);
     textbox.addCommand(CMD_Ende);
 
     textbox.setCommandListener(this);
     
     try {  rs = RecordStore.openRecordStore("RS", true );
	}

	catch (RecordStoreException rse) {

	}
 }

protected void startApp(){

System.out.println("startApp wurde aufgerufen");

display.setCurrent(textbox);
t.schedule(u1, 5000);

 }
 
protected void destroyApp (boolean unconditional) {

System.out.println("destroyApp wurde aufgerufen");
}

protected void pauseApp () {

System.out.println("pauseApp wurde aufgerufen");
}


public void    commandAction(Command c, Displayable d) {

System.out.println("commandAction() aufgerufen aufgerufen: " + c);

    if (c == CMD_Los) {
       
        }

if (c == CMD_Ende) {

	
}
        
    } 

public class UhrTimerTask extends TimerTask {

public void run() {

 destroyApp(false);
            notifyDestroyed();
            System.out.println("commandAction - exit - aufgerufen");
}

     }
	 

public static void main(String[] args)throws IOException{  

    FileOutputStream = new FileOutputStream("file");

	 
	}
	 
	 }
 
Java:
FileOutputStream = new FileOutputStream("file");
Da fehlt der variablenName 😉

Java:
FileOutputStream nameDerVariable = new FileOutputStream("file");
 
Es geht schon auch, hab vor längerer Zeit mal eine Einkaufsliste mit Export-Funktion gemacht, da war das dann ca. so:
Java:
    static void write(String url) throws IOException, ExportException {
        url = workaroundNokia(url);
        FileConnection conn = (FileConnection) Connector.open(url);
        conn.truncate(0);
        DataOutputStream out = conn.openDataOutputStream();
        writeCategories(out);
        writeItems(out);
        out.close();
        if (log.length() > 0) {
            throw new ExportException(log.toString());
        }       
    }

Wie du an "workaroundNokia" schon erkennen kannst 🙂 war das alles nicht so super und auf meinem Handy musste ich immer erst eine eigene "Sicherhheitsfreigabe" erteilen, bevor die Anwendung auf die Speicherkarte schreiben durfte und zwar jedes mal, wenn sie schreibt (das kann man nur vermeiden, indem man die Applikation mit einem "echten" Zertifikat signiert, was mir zu viel Aufwand war).
Ach ja und ich konnte den Dateinamen auch nicht frei wählen, musst meine Daten immer in eine Datei mit Endung .jpg schreiben, damit ich sie überhaupt irgendwie schreiben konnte.

Kurz: Es ging schon irgendwie, aber elegant war es nicht.
 
Hi,

heute haben wir dann erfahren, dass der Stream bei unserem Programm nicht geht. -.-

Wir müssen das mit einem Recordstore machen. Vorher hatten wir das zwar so ähnlich aber wir wussten halt nicht an welcher Stelle das im RecordStore gespeichert war.

Jetzt sollen wir mit ByteArrayInputStream, ByteArrayOutputStream, DataInputStream und DataOutputStream arbeiten.

Das Programm soll eine Zeit speichern, die dann in einen RecordStore abgelegt wird(mit einem Kommando) und später soll man diese Zeit auch wieder abrufen können mit einem Kommando.
Aber wofür brauche ich da den Stream? Für die Position?


Hoffe ihr werdet aus dem Text schlau und könnt mir helfen 🙂


Mfg MixXeD
 

Neue Themen


Zurück
Oben