Textdokument ASCII ändern

GridRacer

Mitglied
Hallo an Alle

Bin neu hier und hoffe, dass ihr mir bei meinem Problem weiterhelfen könnt.

Und zwar bin ich noch Schüler und möchte mir gerne so ein Art "Verschlüsselungsprogramm" schreiben.
Ich verwende dazu Eclipse mit grafischer Unterstützung.

Funktion:
Datei öffnen - Datei einlesen und in jTextArea schreiben - Inhalt in String einlesen und jeden einzelnen char um 2 erhöhen. zB.: statt 'A' steht dann 'C'.
Dies alles dann zu einem String hinzufügen und in Datei schreiben.
Danach kann man es wieder zurückkonvertieren lassen. Also die chars um -2 erhöhen, sprich 2 verringern.
Bei normalen Textdokumenten funktiniert dass recht gut.
Jedoch funktioniert es bei .doc und .jpg nicht ganz, da er beim "entschlüsseln" ein return statt ursprünlich ein '000' macht.

Könnt Ihr mir vielleicht sagen, was ich berücksichtigen muss, damit das ordentlich funktioniert?
Wäre um jede Hilfe dankbar.

PS: Ich kann euch gerne Projektordner inkl. Quellcode schicken.
 

GridRacer

Mitglied
Also die Funktion des Programms soll sein: Den ASCII Wert jedes einzelnen Buchstaben und Zeichen um 2 zu erhöhen und dann wieder in ein Textdokument zu schreiben.

Bei Textdokumenten funktioniert das auch.
Nur bei anderen Dateien ist dann das Problem: Wenn ich es zuerst um 2 erhöhe, dann speicher und dann um 2 verringere und wieder speichere, kommt es zum Problem, dass er gewisse Zeichen falsch ausgibt (in die Datei schreibt).

Und genau da ist mein Problem: er schreibt zum Beispiel statt einem '-' ein '?' (im Fall eines .jpg). Obwohl es bei einem .txt wieder in einen '-' zurückgewandelt wird.
 

nrg

Top Contributor
wenn man ein jpg mit dem editor öffnet, sieht man doch schon, dass dort einige zeichen sind, die nicht in ascii vorhanden sind.

edit: kurz getestet. imho wirst du da mit deiner methode, den ascii-wert von jedem char um 2 zu erhöhen schlechte karten haben.
 
Zuletzt bearbeitet:

agentone

Bekanntes Mitglied
Wie sieht denn deine Zeile mit den Streams aus?

Die sollte so aussehen:

Java:
Reader reader=new FileReader("in.doc");

Dann kannst du mit reader.read() "a single character" einlesen, dann um zwei erhöhen und dann mit

Java:
writer=new FileWriter("out.doc");

und write(int c) wieder schreiben.
 

GridRacer

Mitglied
Habs jetzt auch umgeschrieben, dass ich sie byteweise einlese, also den char von jedem einzelnen Zeichen und dann sofort im Filereader noch in einem .txt anhänge.
Jetzt bräuchte ich nur noch einen Befehl, damit ich eine Art "Sicherungskopie" der Datei anlegen kann, und die ich danach wieder löschen kann.
 

nrg

Top Contributor
File.renameTo

also wie gesagt ich hab das grad getestest. ein einfaches bild charweiße eingelesen und sofort wieder in eine txt geschrieben. bei mir kam dabei garnix raus..
 

madboy

Top Contributor
Da kann nix gutes dabei raus kommen :)
Erstens ist ein Cast von byte auf char nicht so einfach und zweitens kannst du Überläufe bekommen. Ein char ist zwei Byte groß, ein byte (dem Namen nach ;-) ) ein Byte.

Mein Rat: lass das mit der Konvertierung, rechne nur mit bytes und vergiss mögliche Überläufe nicht. Der Wertebereich eines byte ist übrigens -128 bis 127, also aufpassen wenn du 126+2 bzw. -127-2 rechnen willst.

EDIT: desweiteren solltest du auch einen Bogen um *Reader und *Writer machen und nur Streams verwenden.
 
Zuletzt bearbeitet:

agentone

Bekanntes Mitglied
Also ich hab das mal mit java.io.DataInputStream#readByte() gemacht und hab dann das byte XOR (^-Operator) mit nem anderen byte (Passwort) verknüpft, und das dann mit java.io.DataOutputStream#writeByte() wieder in ne datei reingeschrieben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Methoden Textdokument erstellen und auslesen. Java Basics - Anfänger-Themen 46
T 'Nix' aus Textdokument lesen Java Basics - Anfänger-Themen 11
S Absatz aus Textdokument abfragen Java Basics - Anfänger-Themen 6
I Japanischen Text aus Textdokument einlesen Java Basics - Anfänger-Themen 35
A Highscore mit Textdokument Java Basics - Anfänger-Themen 16
J Tabelle in Textdokument einfügen Java Basics - Anfänger-Themen 3
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
obiwanke Ziffern durch ASCII Character ersetzen Java Basics - Anfänger-Themen 8
U Ascii wert verschieben, wie möglich? Java Basics - Anfänger-Themen 3
Sonas814 ASCII-Tabelle Java Basics - Anfänger-Themen 2
J Umwandlung String zu ASCII-Wert und anders Java Basics - Anfänger-Themen 17
E ASCII-Code in Java ausgeben Java Basics - Anfänger-Themen 6
krgewb ASCII-Tabelle Java Basics - Anfänger-Themen 12
O Ascii Tasse Ausgeben Java Basics - Anfänger-Themen 8
S ASCII String zu int Java Basics - Anfänger-Themen 5
R Fehler bei ASCII Char zu Int Umwandlung Java Basics - Anfänger-Themen 2
J ASCII - Raute Java Basics - Anfänger-Themen 18
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
P ASCII-Tabelle Java Basics - Anfänger-Themen 5
C String mit ASCII vergleichen + gefundene Gemeinsamkeiten ausgeben Java Basics - Anfänger-Themen 21
H String in Ascii-Werte für Verschüsselungssystem Java Basics - Anfänger-Themen 8
A OOP Buchstaben mit ASCII Werten darstellen Java Basics - Anfänger-Themen 1
G Wert in Ascii Datei ändern, ohne die Datei neu zu schreiben Java Basics - Anfänger-Themen 24
A int in ASCII Konvertieren Java Basics - Anfänger-Themen 6
S ASCII Code aus String herauslesen Java Basics - Anfänger-Themen 3
Rayo Eingelesene Ascii Zahlen wie normale Zahlen prüfen Java Basics - Anfänger-Themen 4
T ASCII Art von Bild erstellen. Java Basics - Anfänger-Themen 32
A String(Ascii ) in String umwandeln Java Basics - Anfänger-Themen 3
D Von short zu Ascii-Code Java Basics - Anfänger-Themen 2
P Erste Schritte Zufallszahl in Ascii-Code umwandeln ?!? Java Basics - Anfänger-Themen 6
S String mit ASCII/HTML Zeichen darstellen Java Basics - Anfänger-Themen 10
C ASCII-Art Haus Java Basics - Anfänger-Themen 18
C ASCII CODES in Linux anders als auf Windows? Java Basics - Anfänger-Themen 4
J Ascii Zeichen von einem String umwandeln und ausgeben Java Basics - Anfänger-Themen 11
T String to ASCII Java Basics - Anfänger-Themen 3
K ASCII-Art mit for Schleife Java Basics - Anfänger-Themen 12
R ASCII-Tabelle Java Basics - Anfänger-Themen 6
achillesat aus .java in ascii datei Java Basics - Anfänger-Themen 12
P ASCII-Bild einlesen Java Basics - Anfänger-Themen 13
I Ascii Bild mittels Scanner einlesen Java Basics - Anfänger-Themen 9
D prüfen ob string nur ascii zeichen enthält Java Basics - Anfänger-Themen 7
P Ascii Bild einlesen Java Basics - Anfänger-Themen 6
P Ascii Java Basics - Anfänger-Themen 4
C ASCII Codes in Buchstaben umwandeln Java Basics - Anfänger-Themen 2
T Ascii String zu Hex Wert wandeln? Java Basics - Anfänger-Themen 6
S Ascii Datei parsen Java Basics - Anfänger-Themen 2
S Hex-String in Ascii-String umwandeln! Java Basics - Anfänger-Themen 7
J String nur mit ASCII-Zeichen Java Basics - Anfänger-Themen 4
D Ascii-Code ersetzen mit Umlauten Java Basics - Anfänger-Themen 6
L Ausgabe in arabischen Zahlen statt in ASCII Java Basics - Anfänger-Themen 9
M Ascii-Filtering von Usereingaben Java Basics - Anfänger-Themen 3
K String(ASCII) to BigInteger Java Basics - Anfänger-Themen 2
T ASCII Tabelle darstellen Java Basics - Anfänger-Themen 7
G ASCII -> Unicode ? Java Basics - Anfänger-Themen 5
G ASCII -> String Java Basics - Anfänger-Themen 2
N Eclipse und ascii codes, welchen wählen? Java Basics - Anfänger-Themen 3
T byte 2 ASCII ? Java Basics - Anfänger-Themen 2
M Strings nach ASCII Zeichen trennen. Java Basics - Anfänger-Themen 7
C Überprüfung ob Eingabe Text/ASCII Java Basics - Anfänger-Themen 24
F Warum Ausgabe in ASCII Dez. Java Basics - Anfänger-Themen 3
L Fehler bei den ASCII Zeichen Java Basics - Anfänger-Themen 9
K ASCII Schnittstelle. Java Basics - Anfänger-Themen 3
T Bestimmte Zeilen aus ASCII File löschen? Java Basics - Anfänger-Themen 2
L auf ASCII Zeichen prüfen Java Basics - Anfänger-Themen 10
O Ascii Dateien schreiben Java Basics - Anfänger-Themen 5
H Escape Sequenz ASCII Wert als Oktalzahl Java Basics - Anfänger-Themen 6
B ASCII-Datei einlesen und zerlegen Java Basics - Anfänger-Themen 5
H ascii-xml Konverter Java Basics - Anfänger-Themen 4
B Formular-Eingabe in ASCII-Datei speichern Java Basics - Anfänger-Themen 3
S Umrechner Ascii Integer Java Basics - Anfänger-Themen 2
S printable ASCII output erzeugen Java Basics - Anfänger-Themen 3
G Ascii Zeichen? Java Basics - Anfänger-Themen 2
X ASCII-Code => Zeichen / Zeichen => ASCII-Code Java Basics - Anfänger-Themen 2
G Problem bei der Darstellung von bestimmten ASCII-Zeichen Java Basics - Anfänger-Themen 4
B speichern->"neueZeileZeichen"ASCII 1310 in 13 u Java Basics - Anfänger-Themen 10
W char in ASCII-Zeichen umwandeln Java Basics - Anfänger-Themen 4
Dilandau ascii code von zeichen in string ermitteln? Java Basics - Anfänger-Themen 9
G Berechnet ASCII-Code Java Basics - Anfänger-Themen 2
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
J Farbe des Striches eines TitledBorders ändern Java Basics - Anfänger-Themen 2
B Reflection ändern von Objekten in Objekten Java Basics - Anfänger-Themen 12
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
B Attribute eines Objekts einer Klasse durch statische Methode einer 2. Klasse ändern? Java Basics - Anfänger-Themen 32
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1
H Mit setter-Methode JLabel in einer andern Klasse ändern. Java Basics - Anfänger-Themen 40
B Variablen Int Variabel in JTextField ändern Java Basics - Anfänger-Themen 2
W Methode ändern Java Basics - Anfänger-Themen 65
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
B Filepath "ändern"? Java Basics - Anfänger-Themen 5
t2im Java Array-Länge ändern? Java Basics - Anfänger-Themen 22
J Wert in einer json Datei ändern und speichern Java Basics - Anfänger-Themen 3
amelie123456 Geschwindigkeit der Methode bewegeDich eines Objekts ändern Java Basics - Anfänger-Themen 2
P Standard resources-Verzeichnis ändern Java Basics - Anfänger-Themen 9
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben