Java

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
L@w
Beiträge: 916
Registriert: 24.07.2002 08:12:30

Java

Beitrag von L@w » 19.05.2003 14:16:20

hallo,

vielleicht kann mir ja hier jemand helfen.

mein problem:

ich habe ich java programm in der arbeit mit dem ich das programm gsmsendsms steuern möchte. nur habe ich das problem, dass ich keine befehle mit " übergeben kann.z.B.

Code: Alles auswählen

gsmsendsms -d /dev/bty0 -b 19200 1234 "Das ist ein TEST"
warum ist das so? mit

Code: Alles auswählen

System.out.println
funktioniert es. :cry:
cu L@w
---

LINUX - because booting is for adding hardware!

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 19.05.2003 14:33:33

Wenn nur der letzte Ausdruck in Hochzeichen steht, kannst du ja vom letzten "regulären" Ausdruck an den Rest parsen im Java-proggi

Benutzeravatar
L@w
Beiträge: 916
Registriert: 24.07.2002 08:12:30

Beitrag von L@w » 19.05.2003 14:39:10

kenn mich jetzt gerade nicht aus.

bin halt noch nicht so ein java-guru :lol:

kannst mir das mal genauer erklären?
cu L@w
---

LINUX - because booting is for adding hardware!

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 19.05.2003 14:50:39

Wenn ich dich richtig Verstanden habe ist "gsmsendsms" dein Java-Proggi dem du die Parameter übergeben willst.

Der Parameter in java ist ja ein String-Array. Und wenn du jetzt davon ausgehen kannst das es fünf Parameter sind bis zum dem Teil in Hochkomma(-d 1, /dev/bty0 2, -b 3, 19200 4 1234 5) kannst du den Rest die dann noch in dem Array sind einfach als String(mit Leerzeichen) zusammensetzten.

Wobei ich nicht weis ob / richtig übergeben werden.(sollten aber)

Edit:
public static void main(String[] args){
String str1;
String str2;
...
String str6;

str1 = args[0];
str2 = args[1];
}


Und dann für den letzten die länge des Array mit length auslesen, und die Restlichen Felder als String(mit Leerzeichen) zusammensetzen.

gruss
man'esgehtsicherauchanders'uel
Zuletzt geändert von suntsu am 19.05.2003 14:58:41, insgesamt 1-mal geändert.

Benutzeravatar
L@w
Beiträge: 916
Registriert: 24.07.2002 08:12:30

Beitrag von L@w » 19.05.2003 14:58:20

nein,

gsmsendsms ist ein linuxprogramm (also c) glaube ich.

und dort hin möchte ich die strings übergeben.
cu L@w
---

LINUX - because booting is for adding hardware!

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 19.05.2003 17:18:53

Mit was rufst du das Linux-Programm auf?

Sowas?

Code: Alles auswählen

Process pr = Runtime.getRuntime().exec("/home/suntsu/programml"); 


Dann musst du nur die " zeichen mit / einpacken. Glaub ich.

Ansonsten. de.comp.lang.java
Dort wird dir sicher geholfen.

Benutzeravatar
L@w
Beiträge: 916
Registriert: 24.07.2002 08:12:30

Beitrag von L@w » 21.05.2003 12:12:47

nur zur info:

habe es jetzt mit einem shellscript gelöst.

erstelle shellscript -> führe shellscripte aus -> lösche shellscript.

wenn wer interessiert ist :lol:

ausserdem wer mein programm (java frontend für gsmsendsms) braucht oder lust hat weiter zu entwickeln soll sich melden.
cu L@w
---

LINUX - because booting is for adding hardware!

Benutzeravatar
Leonidas
Beiträge: 2032
Registriert: 28.04.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Leonidas » 27.05.2003 15:50:44

Shellscripte sin aber auch so platformunabhängig...der hammer!
Ne du musst afaik das so schreiben: \"
Weil sonst wird es warscheinlich als regex benutzt
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.

Antworten