Programm funktioniert nicht wie gewünscht

S

SkonroX

Gast
Hallo,
ich habe das problem, das mein Programm nicht funktioniert wie ich es möchte, habe als kommentar beigeschrieben was nicht funktioniert.

Java:
package Matrix;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;
public class Matrix 
{
	public static void reg() throws AWTException,IOException
	{
		String path;										//Für den Pfad zu den Eigenen Dateien
		String path2;										//Für den Pfad verändert für Regestrierung
		path = (System.getProperty("user.home"));			//Befehl für Pfad zu Eigenen Dateien
		path2 = path.replaceAll("\\", "\\\\");				//FUNKTIONIERT NICHT (Soll die \ in zwei \\ ändern, benötigt für Regestrierungseintrag
		File file = new File(path+"/Matrix/");				//Matrix Ordner in Eigenen Dateien erstellen
		if (!file.exists())									//Falls Pfad nicht besteht zu Ordner, erstellen.
		{
			file.mkdirs();
		}
		File file2 = new File(path+"/Matrix/Matrix.reg/");	// .reg datei erstellen
		BufferedWriter bw;
		Robot robot = new Robot();
		bw = new BufferedWriter(new FileWriter(file2));		// in die .reg schreiben
		bw.write("Windows Registry Editor Version 5.00");	//Text Inhalt
		bw.newLine();
		bw.newLine();
		bw.write("[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]");	//Text Inhalt
		bw.newLine();
		bw.write("\"MatrixGo\"=\"\\\""+path2+"\\Matrix.exe\\\"");								//Text Inhalt
		bw.flush();
		bw.close();
		File file3 = new File(path+"/Matrix/Matrix.reg/");										//Datei Pfad zum ausführen
		Runtime.getRuntime().exec("cmd /c "+file3);												//Datei Ausführen
		robot.delay(1500);
		robot.keyPress(KeyEvent.VK_LEFT);					// Robot zum eingeben von den Tasten zum einfügen in Regestrierung (Geht auch nicht)
	//	robot.keyRelease(KeyEvent.VK_LEFT);
		robot.delay(100);
		robot.keyPress(KeyEvent.VK_ENTER);
	//	robot.keyRelease(KeyEvent.VK_ENTER);
	//	System.out.println(path);
	}
	public static void main (String []args) throws IOException, AWTException, InterruptedException
	{
	String path;										//Pfad zu Eigenen Dateien
	path = (System.getProperty("user.home"));			// Befehl für Pfad zu Eigenen Dateien
	File file = new File(path+"/Matrix/");				//Erstelle Pfad falls noch nicht vorhanden
	if (!file.exists())
	{
		file.mkdirs();
	}
	File file2 = new File(path+"/Matrix/Matrix.bat");	//Matrix.bat datei (Gibt ganz viele zufällige Zahlen in grün in der cmd aus
	BufferedWriter bw;
	bw = new BufferedWriter(new FileWriter(file2));		//Inhalt der .bat
	bw.write("@echo off");
	bw.newLine();
	bw.write("color 0a");
	bw.newLine();
	bw.write(":top");
	bw.newLine();
	bw.write("echo %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random%");		//Inhalt der Datei
	bw.newLine();
	bw.write("goto top");
	bw.flush();
	bw.close();
	if(JOptionPane.showConfirmDialog(null, "sE!", "MöP", JOptionPane.YES_NO_OPTION) == 0)		//Warnung fenster
	{
		Runtime.getRuntime().exec("CMD /c START "+file2);			// Datei ausführen
	}
	else
	{
		reg();														//Regestrierungseintrag hinzufügungsmethode
		JOptionPane.showMessageDialog(null, "Halt jetzt noch nicht..");
	}
}	
}

mfg,
SkonroX
 

faetzminator

Gesperrter Benutzer
[c]replaceAll()[/c] erwartet einen Regex. Darum muss der Slash nochmals escaped werden, also so: [c].replaceAll("\\\\", "\\\\")[/c].
 
S

SkonroX

Gast
Hi,
aber dann werden ja die doppel-backslash in doppelbackslash gewechselt, aber es sollen ja die einzelnen in zwei

mfg,
SkonroX
 

Ebenius

Top Contributor
Der Backslash [c]\[/c] hat schon eine besondere Bedeutung im regulären Ausdruck. Also muss er dort nochmals zu einem doppelten Backslash escaped werden. Macht dann im Java-String vier Baskslashes um ein Backslash-Zeichen im regulären Ausdruck einzubauen. Oder aber: [c]replaceAll(Pattern.quote("\\"), "\\\\")[/c].

Ebenius
 
S

SkonroX

Gast
Hi,
funktioniert leider nicht, gibt immer noch nur einen backslash aus

mfg,
SkonroX
 
S

SkonroX

Gast
hi,
habs jetzt nochmal mit doppel sovielen backslash wie eigentlich nötig umschrieben und es funktioniert :O
aber ich verstehe garnicht wirklich wieso?!

mfg,
SkonroX
 

Ebenius

Top Contributor
Entschuldigung. Der Replacement-String muss natürlich auch escape'te oder gequotete Backslashes haben:
Java:
path2 = path.replaceAll("\\\\", "\\\\\\\\");
// bzw.
path2 = path.replaceAll(Pattern.quote("\\"), Matcher.quoteReplacement("\\\\"));
Ebenius
 

Ebenius

Top Contributor
Wieso: im regulären Ausdruck hat ein Backslash eine besondere Bedeutung (ächnlich wie in Java). Der reguläre Ausdruck [c]\s[/c] zum Beispiel bezeichnet nicht etwa ein Muster aus einem Backslash gefolgt vom Zeichen [c]s[/c], sondern ein beliebiges Leerzeichen (TAB, Space, etc.). Der reguläre Ausdruck [c]\\[/c] bezeichnet einen Backslash. Der reguläre Ausdruck [c]\\\\[/c] bezeichnet zwei Backslashes.

Das gleiche gilt für die Replacement-Strings. Der Replacement-String [c]$[/c] bezeichnet nicht etwa ein Dollar-Zeichen, sondern das durch den Suchstring gefundene Muster. Deswegen braucht man auch dort den Backslash, um das Dollar zu escapen. Deswegen kann der Replacement-String [c]\[/c] nicht das Zeichen [c]\[/c] meinen. Und deswegen muss auch dieses dann als [c]\\[/c] im Replacement-String angegeben sein.

Um einen Backslash nun als Java-String darzustellen muss man wiederum jeden der einzelnen Backslashes durch zwei ausdrücken. Der Java-String [c]"\\\\\\\\"[/c] ist also ein String mit vier (nicht acht) Backslashes und bezeichnet ein Pattern aus zwei (nicht vier) Backslashes hintereinander.

Besser kann ich's nicht erklären.

Ebenius
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
ChrisPL4Y Wieso funktioniert dieses Programm nicht? Java Basics - Anfänger-Themen 6
T Programm Funktioniert nicht Java Basics - Anfänger-Themen 2
G Warum funktioniert das Programm für negative Eingabe nicht? Java Basics - Anfänger-Themen 3
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
J Programm funktioniert nicht. Java Basics - Anfänger-Themen 3
J Programm im Jar-Format funktioniert nicht richtig Java Basics - Anfänger-Themen 9
S Programm funktioniert nicht Java Basics - Anfänger-Themen 3
N Bubblesort Programm funktioniert nicht Java Basics - Anfänger-Themen 19
M Programm funktioniert als jar nicht Java Basics - Anfänger-Themen 19
D programm funktioniert nicht als jar Java Basics - Anfänger-Themen 10
H Programm funktioniert nicht wie geplannt Java Basics - Anfänger-Themen 2
A IO Programm aus Tutorial funktioniert nicht Java Basics - Anfänger-Themen 8
R Programm funktioniert nicht ohne trim() Java Basics - Anfänger-Themen 9
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
M In Netbeans Programm so abspeichern dass es funktioniert Java Basics - Anfänger-Themen 8
J Programm funktioniert aber unsafe operations? Java Basics - Anfänger-Themen 3
O Programm funktioniert nur im Debugger richtig Java Basics - Anfänger-Themen 2
E Schnittstellentest negativ, Programm funktioniert aber Java Basics - Anfänger-Themen 12
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
M Mini Jar-Programm Java Basics - Anfänger-Themen 51
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
Z Programm Ideen Java Basics - Anfänger-Themen 8
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
T Programm stürzt ab Java Basics - Anfänger-Themen 40
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
K Ist das Programm schlecht bzw. schlampig programmiert ? Java Basics - Anfänger-Themen 9
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
nbergmann IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch? Java Basics - Anfänger-Themen 26
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Wo hält das Programm an? Java Basics - Anfänger-Themen 11
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
Fugover Kopfrechnen-Programm Java Basics - Anfänger-Themen 6
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
A wie kann ich es in meinem Programm rein tun Java Basics - Anfänger-Themen 8
S Fehler beim Programm Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
F Kann mir jemand kurz dieses Programm erklären? Java Basics - Anfänger-Themen 22
I Programm erkennt nicht an das Array zurückgegeben wird trotz Initialisierung *einfach* Java Basics - Anfänger-Themen 9
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
A Lotto Programm Java Basics - Anfänger-Themen 3
S Programm erstellen Java Basics - Anfänger-Themen 3
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
S MinMax Programm erstellen Java Basics - Anfänger-Themen 4
J Interpreter-Fehler Programm gibt nicht gewünschtes Ergebnis aus Java Basics - Anfänger-Themen 11
brypa Programm mit Eingabe Java Basics - Anfänger-Themen 129
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
SpigBin Programm läuft nicht weiter... Java Basics - Anfänger-Themen 10
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
D Programm auf Enter warten lassen Java Basics - Anfänger-Themen 2
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
WAB9703-04 Programm zum automatischen Ausfüllen von Formularen programmieren Java Basics - Anfänger-Themen 3
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
G Programm Code Java Basics - Anfänger-Themen 5
CptK Achsenskalierung in Koordinatensystem hängt Programm auf Java Basics - Anfänger-Themen 5
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
Sajeel Chattha Dieses Programm umschreiben Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben