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
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");
}
}
}