In eine Datei schreiben

Status
Nicht offen für weitere Antworten.
B

Baran

Gast
Hallo Leute, ich habe folgende Aufgabe:
Ich soll ein Programm schreiben, mit dem ich in beliebige Dateien (Bilder, Textdokumente, usw.) schreiben kann. Das heisst Bytes verändern. So was nennt man doch Steganografie oder? Ein Einsatzgebiet wäre z.B. Verschlüsselung. Ich hab bis jetzt folgendes geschrieben. Jedoch Überschreibt er die Datei nicht, sondern löscht den bisherigen Inhalt. Ich hoffe Ihr könnt mir helfen!
Danke im voraus!
Baran
Code:
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.io.FileWriter;

public class Test2
{
	public static void main (String [] args)
	{
		new UserFrame();
	}
}
	class UserFrame extends Frame implements ActionListener
	{
		private File dateien;
		private TextField tf,tf1;
		Button btn,btn1,ds;
		private Label status,txt;
		private String dateiname,text;
		private FileWriter f1;
		private void place(Component comp, int x, int y, int width, int height)
			{
				comp.setBounds(x,y,width,height);
				add(comp);
			}

		public UserFrame()
		{
			setTitle("Codieren");
			setSize(300,200);
			setLayout(null);
			setResizable(false);
			setBackground(Color.lightGray);
			setLocation(300,200);

		place(status = new Label("Datei laden"),20,30,110,20);
		place(tf=new TextField(),20,50,150,20);

		place(txt=new Label("Bitte Text eingeben:"),20,95,200,20);
		place(tf1=new TextField(),20,115,150,20);

		place(btn = new Button("Abbrechen"),120,170,100,20);
	    btn.setFont(new Font("Arial",Font.BOLD,11));
	    btn.setBackground(new Color(200,200,200));
	    btn.addActionListener(this);
		place(btn1 = new Button("Ok"),60,170,50,20);
	    btn1.setFont(new Font("Arial",Font.BOLD,11));
	    btn1.setBackground(new Color(200,200,200));
	    btn1.addActionListener(this);
	    place(ds=new Button("Durchsuchen"),182,50,100,20);
	    ds.setFont(new Font("Arial",Font.BOLD,11));
	    ds.setBackground(new Color(200,200,200));
	    ds.addActionListener(this);

		setVisible(true);

		addWindowListener(new WindowAdapter()
				{
					public void windowClosing(WindowEvent e)
					{
						System.exit(0);
					}
		});
	}

	public void addActionListener(ActionListener l)
	{

	}

	public void actionPerformed(ActionEvent e)
	{
		String cmd = e.getActionCommand();
		System.out.println(cmd);
		if(cmd.equals("Abbrechen"))
			System.exit(0);
		if(cmd.equals("Ok"))
			Text2();
		if(cmd.equals("Ok"))
			Text1();
		if(cmd.equals("Durchsuchen"))
			bildLaden();
	}

	public void bildLaden()
	{
			FileDialog f = new FileDialog(this,"Bilddatei laden...",FileDialog.LOAD);

			f.show();
			dateiname = f.getDirectory();
			dateiname += f.getFile();
			tf.setText(dateiname);
			System.out.println(dateiname);
			// Falls der Benutzer keine Datei ausgewählt hat, wird null zurückgegeben
			// dann nichts weiter tun
			if(dateiname == null)

			return;
	}




	void Text1()
	{
			tf1.setText(tf1.getText());
			tf.setText(dateiname);
	}

	void Text2()
	{
		String text=tf1.getText();
		FileWriter f1;

		try
		{
	      f1 = new FileWriter(dateiname);
	      f1.write(text);
	      f1.close();

	    }
	   catch (IOException e)
	   {
	         System.out.println("Fehler beim Erstellen der Datei");
    	}
	}
}
 

thE_29

Top Contributor
prob das mal

f1 = new FileWriter(dateiname,true);

und dann zurückhüpfen usw, weil ein FileWriter wenn append = false er die Datei überschreibt!
 
B

bygones

Gast
Baran hat gesagt.:
So was nennt man doch Steganografie oder?
Das schreiben in eine beliebige Datei ist nicht ganz Steganografie....
Das Wort "Steganographie" kommt aus dem Griechischen und heißt übersetzt "verborgenes Schreiben". Sie wird oft definiert als "die Kunst und Wissenschaft der Kommunikation auf einem Weg, welcher die Existenz der Nachricht verbirgt". Somit ist Sinn und Zweck die "Vertuschung" von Informationen. Die Sicherheit einer geheimen stenographischen Botschaft liegt also darin, dass dem Angreifer die Existenz einer solchen nicht auffällt.
Viele Menschen ordnen die Steganographie als Unterpunkt zur Kryptographie ein. Das ist falsch, da beide Wissenschaften vollkommen verschiedene Ansätze haben, eine Nachricht dem Empfänger sicher zuzukommen lassen. Im Gegensatz zur Kryptografie, bei der eine Botschaft verschlüsselt wird, versucht die Steganografie eine Botschaft dadurch vor dem Zugang Unbefugter zu schützen, dass für den nicht eingeweihten Betrachter nicht erkennbar ist, dass eine versteckte Botschaft überhaupt vorhanden ist.
 
B

Baran

Gast
@thE 29:

Super, vielen Dank! Von diesem 'append' hatte ich schon gehört, hatte aber keine Ahnung wo das reinkommt. Vielleicht kannst Du mir ja noch weiterhelfen: Wie kann ich den String den ich eingebe verschlüsseln? Also dass er z.B. alle 5 Zeichen einen Buchstaben reinschreibt und nicht alle hintereinander?

Baran
 
B

Baran

Gast
@deathbyaclown:

Danke für die Aufklärung! Wie man sieht -> man lernt nie aus
 
B

bygones

Gast
Baran hat gesagt.:
@deathbyaclown:
Danke für die Aufklärung! Wie man sieht -> man lernt nie aus
Kein Problem - mehr Infos gibts auch in der Folge 116 "Codename Cobra" von "Die Drei Fragezeichen" :D
 

thE_29

Top Contributor
naja, ich würde einfach normalreinschreiben

entweder mit filewriter oder halt mit randomaccessfile (zeichenweise reinschreiben, mit write(zeichen)) und wenn du halt einen counter mitlaufen lässt mit if(counter%5 == 0) schreibe Zeichen

wäre glaube ich das einfachste
 
B

Baran

Gast
ich komm damit jetzt leider nicht ganz zurecht. könnt ihr mir ein codebeispiel geben, den ich ungefähr so mit einbauen könnte? also das programm soll von den eingegebenen string über die datei verteilen. und zwar nach jedem fünften zeichen der datei einen buchstaben aus dem string reinsetzen. später muss ich eben noch ein programm schreiben das dieses genau andersrum macht und jedes fünfte zeichen liest. wäre echt super wenn ihr mir da weiterhelfen könntet.
vielen dank im voraus
baran
 

thE_29

Top Contributor
da hast bisi code ;)

Code:
    try{
      RandomAccessFile file = new RandomAccessFile("C:\\SQL.LOG", "rw");
      String strLine = "";
      ArrayList ar = new ArrayList();
      String strText = "HALLO SCHATZI!";
      while ( ( strLine = file.readLine() ) != null)
      {
        ar.add(strLine);
      }
      StringBuffer strBuf = new StringBuffer("");
      for(int x = 0; x != ar.size(); x++)
        strBuf.append(ar.get(x));
      file.seek(0); //oder 1, was halt am anfang hinspringt
      for(int x = 0,y=0;  x != strBuf.length(); x++)
      {
        file.write(strBuf.charAt(x));
        if(x % 5 == 0 && y != strText.length()) //0 % 5 = 0, also kannst noch abfragen && x != 0, das er nicht als 2tes Zeichen reinschreibt
        {
          file.write(strText.charAt(y)); //geht dann im String weiter
          y++;
        }
      }
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
    }

denn stringbuffer hab ich deswegen verwendet, da ein string bei += eigentlich auch das append von dem verwendet!
ansonsten müsste es glaub ich gehen!
beim auslesen gleich reinschreiben geht glaube ich nicht, weil er die position net zurückrückt!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
P Erste Schritte Schreiben in eine Datei Java Basics - Anfänger-Themen 9
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
B String der eigentlich eine Ansammlung von HEX zeichen ist in datei schreiben in Hex Java Basics - Anfänger-Themen 8
B Input/Output In Datei an eine bestimmte Stelle schreiben Java Basics - Anfänger-Themen 37
A Werte per Zufall aus einer Datei ziehen und in eine neue Datei schreiben Java Basics - Anfänger-Themen 9
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
isowiz Mehrere Threads schreiben in eine Datei Java Basics - Anfänger-Themen 5
C Abschnittsweise in eine Datei schreiben Java Basics - Anfänger-Themen 2
S In eine datei schreiben Java Basics - Anfänger-Themen 3
K Daten in eine Text datei schreiben !!!! Java Basics - Anfänger-Themen 6
J Objektvariablen in eine Datei schreiben Java Basics - Anfänger-Themen 2
H mehrere Strings zeitlich versetzt in eine Datei schreiben Java Basics - Anfänger-Themen 3
2 Mit Java in eine WORD-Datei schreiben Java Basics - Anfänger-Themen 18
A Schreiben in eine Datei Java Basics - Anfänger-Themen 5
D An eine ausgewählte Stelle in der Datei schreiben? Java Basics - Anfänger-Themen 7
A Problem beim Schreiben in eine Datei Java Basics - Anfänger-Themen 3
L Mehrere Objekte mit NIO in eine Datei schreiben Java Basics - Anfänger-Themen 4
G problem beim schreiben in eine txt datei Java Basics - Anfänger-Themen 2
H Mehrfach in eine Datei schreiben, wie geht das? Java Basics - Anfänger-Themen 6
V Mehrere Zeilen in eine Datei schreiben + Zeitstempel Java Basics - Anfänger-Themen 3
R Werte aus einem String[][] in eine Datei schreiben. Java Basics - Anfänger-Themen 3
T JTextArea mit allen Formatierungen in eine Datei schreiben Java Basics - Anfänger-Themen 15
V Passwort-String byteweise in eine Datei schreiben Java Basics - Anfänger-Themen 6
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
L Iterieren über eine CSV Datei Java Basics - Anfänger-Themen 7
X Wo steht, ob eine Datei big, little oder bi-endian codiert ist? Java Basics - Anfänger-Themen 3
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
Henri Bestimmte Werte eine XML-Datei ausgeben. Java Basics - Anfänger-Themen 8
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
A CSV datei eine Bestimmte Zeile ansprechen Java Basics - Anfänger-Themen 1
S Eine Spalte einer CSV Datei ausgeben Java Basics - Anfänger-Themen 2
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
R Charset eine Datei Java Basics - Anfänger-Themen 3
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
D (Eine) Datei zippen Java Basics - Anfänger-Themen 2
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
S ArrayList in eine Txt-Datei speichern Java Basics - Anfänger-Themen 3
S Erste Schritte Kleine Problem mit Ausgabe in eine Datei Java Basics - Anfänger-Themen 11
H eine Datei schnellstmöglich einlesen Java Basics - Anfänger-Themen 12
S Alle 60min prüfen ob eine Datei da ist Java Basics - Anfänger-Themen 6
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
P Java Object das eine HTML Datei repräsentiert Java Basics - Anfänger-Themen 19
L Zeichen für Zeichen eine Datei ändern Java Basics - Anfänger-Themen 2
R Gibt es eine (Schnittstelle) für .ini Datei Formatierungen? Java Basics - Anfänger-Themen 8
A Wie mit Java eine .vbs Datei starten lassen? Java Basics - Anfänger-Themen 4
N XML-Datei in eine ArrayList Java Basics - Anfänger-Themen 6
J Wie auf eine Datei innerhalb des JAR-Files zugreifen Java Basics - Anfänger-Themen 2
T Was ist eine *.jar Datei Java Basics - Anfänger-Themen 9
VfL_Freak [JNI ]aus einer nativen DLL eine JAR-Datei erzeugen ?? Java Basics - Anfänger-Themen 4
3 Eine HTML Datei in eine Java Datei umschreiben Java Basics - Anfänger-Themen 23
G Rausfinden, ob eine Datei gesperrt ist Java Basics - Anfänger-Themen 9
Dit_ Eine Datei in jar einbinden Java Basics - Anfänger-Themen 8
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
G Serialisieren mehrerer Objekte in EINE (XML)-Datei Java Basics - Anfänger-Themen 12
X ZipFile: wie kann ich darin eine Datei löschen und hinzufügen? Java Basics - Anfänger-Themen 5
Sebi Was ist eine Batch datei Java Basics - Anfänger-Themen 2
T Java Webstart soll eine Datei speichern Java Basics - Anfänger-Themen 2
G POI: Aus einer Datei auslesen und in eine andere Datei speichern Java Basics - Anfänger-Themen 18
M Aus Javacode eine Jar.Datei?? Java Basics - Anfänger-Themen 2
K Eine Datei erstellen Java Basics - Anfänger-Themen 2
B Wie kann ich eine dauerhaft ausführbare Datei erstellen? Java Basics - Anfänger-Themen 6
T RandomAccessFile - Wie schreibe ich etwas in eine txt Datei? Java Basics - Anfänger-Themen 5
J System.out.printf in eine Datei umleiten ? Java Basics - Anfänger-Themen 4
V Datenbank in eine Datei packen Java Basics - Anfänger-Themen 3
X txt datei in eine datenstruktur einlesen Java Basics - Anfänger-Themen 3
S Daten aus einer JTable in eine .doc-word- datei exportieren? Java Basics - Anfänger-Themen 7
J Ein Java-Programm in eine *.exe Datei 'packen' Java Basics - Anfänger-Themen 20
J Eine swf-datei in einen Frame einfügen? Java Basics - Anfänger-Themen 6
J Aus einem Java Programm eine .java datei Kompilieren Java Basics - Anfänger-Themen 6
S Wie parst man eine XML Datei mit Sax? Java Basics - Anfänger-Themen 2
W Double Werte von eine txt Datei direkt einlesen Java Basics - Anfänger-Themen 4
M Java Quellcode in eine exe datei umwandeln Java Basics - Anfänger-Themen 4
W Klasse in eine extra Java-Datei Java Basics - Anfänger-Themen 21
Q Integer Arrays in eine Datei Speichern Java Basics - Anfänger-Themen 9
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
G wo speichert man am besten eine Datei? Java Basics - Anfänger-Themen 4
K Text von Eingabefeld in eine txt Datei speichern Java Basics - Anfänger-Themen 2
Bernasconi Programmierstil / Wann eine neue Datei? Java Basics - Anfänger-Themen 5
roflomfg Text in eine lokale "*.txt-Datei" speichern Java Basics - Anfänger-Themen 9
F mehrer Textdateien Inhalte in eine TXT Datei Java Basics - Anfänger-Themen 16
N JavaHelp System in ein eine jar-Datei einbinden Java Basics - Anfänger-Themen 5
M eine *.gif datei zum jar archiv hinzufügen Java Basics - Anfänger-Themen 3
C String in eine *.ini-Datei Java Basics - Anfänger-Themen 29
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
N Array leert sich beim schrieben in eine Datei selbstständig Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben