Windows vs. Ubuntu verschiedener Output

paradox3lite

Mitglied
Hallo an alle,

Ich brauche dringen Eure hilfe. Bis um dienstag muss ich fertig sein.
Ich fasse mich kurz und knapp. Ein programm in Java in Eclipse unter Windows wurde geschrieben welches XML Dateien ausliest und Elemente ausgiebt (in eine HTML Datei als Tabelle). In den XML Dateien ist ein StartTime und Endtime. Das programm gibt auch die Different an, welche man bei der Auswertung am Schluss braucht. Alles geht problemlos unter Windows! Alles richtig.

Jedoch muss ich das programm in Ubuntu später mit nem Script launchen(andere Geschichte)
Ich habe Eclipse für Ubuntu installiert und den Code importiert und jdom Binaries hinzugefügt. Geht alles Problemlos und das Programm erzeugt auch die Datei die es sollte, jedoch hab ich teilweise Riesenunterschiede bei den Tagesdifferenzen.

Bsp.

in Windows ausgeführt: in der HTML Datei ...balablabal aus der XML Datei Differenz 6 Tage
in Ubuntu ausgeführt: in der HTML Datei ...blablabla aus der XML Datei Different 79 Tage

ich weis nicht was ich machen soll. Es muss evtl etwas daran liegen:


Java:
int last_day_LTE = 0;
	int counter_day_LTE = 0;
	
	int last_day_UMTS = 0;
	int counter_day_UMTS = 0;
	
	int last_day_BOTH = 0;
	int counter_day_BOTH = 0;
	
	public void setLast_day_LTE(int last_day_LTE) {				
		if(last_day_LTE - this.last_day_LTE != 0){
			counter_day_LTE++;
			this.last_day_LTE = last_day_LTE;
		}
	}
	
	public void setLast_day_UMTS(int last_day_UMTS) {				
		if(last_day_UMTS - this.last_day_UMTS != 0){
			counter_day_UMTS++;
			this.last_day_UMTS = last_day_UMTS;
		}
	}
	
	public void setLast_day_BOTH(int last_day_BOTH) {
		if(last_day_BOTH - this.last_day_BOTH != 0){
			counter_day_BOTH++;
			this.last_day_BOTH = last_day_BOTH;
		}
	}


Muss man für auf ubuntu sachen ändern oder wie? Sry für die Rechtschreibung, jedoch ist es sehr dringend :/
Wie gesagt auf Windows gehts Problemlos. bei ubuntu stimmen nur die Tage nicht überein, der Rest geht problemlos!

DANKE
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Ubuntu rechnet genauso wie Windows, darauf kannst du dich verlassen.
Wird die Datei denn überhaupt richtig eingelesen? Windows verwendet nen anderes Encoding als Unix.
 

paradox3lite

Mitglied
Also es werden mehrere Dateien eingelesen. es geht um Statistiken. Es werden 3G Download, Upload, usage, IMEI, MSISDN etc ausgelesen und alles stimmt übereien (also MB zahl etc) ausser die Nutzung (Wo er mit den Tagen rechnen sollte)
 

paradox3lite

Mitglied
Was meinst du? Die XML Dateien? Das sind über 400 Stück, teilweise kleine teilweise riesige mit über 1000 Zeilen oder so wie soll ich das am besten anstellen
 
N

nillehammer

Gast
Hier einen sinnvollen Rat zu geben grenzt etwas an Kaffesatzleserei. Du schreibst von Datumsdifferenzen in einer HTML-Datei, zeigst aber nicht den Code, der diese Differenz berechnet. Der Code, den du zeigst, sieht zwar für meinen Geschmack etwas seltsam aus, scheint aber -soweit ich das beurteilen kann- keine funktionellen Fehler zu enthalten.

Poste die Sachen, die bei einer Fehlersuche wirklich helfen könnten:
- Einen Ausschnitt aus der geparsten XML-Datei, wo man die Start- und Endzeit mal sieht
- Den Code, der das parst
- Den Code, der daraus Datumswerte macht
- Den Code, der die Differenz berechnet
- Den Code, der das in die HTML-Datei schreibt

Du könnest an den o.g. Stellen auch selbst entweder mit System.out, Log-Statements oder mit einem Debugger schrittweise die Werte kontrollieren und dann schauen, wo die Abweichung vom Soll-Zustand entsteht.

[EDIT]
Was mir grad noch einfällt: Kontrollier mal, ob auf Deinem Windows-Rechner und Deinem Ubuntu-Rechner die Zeiteinstellungen (Datum, Uhrzeit, Zeitzone) und die Ländereinstellungen übereinstimmen. Möglicherweise parst Du ja ein deutsches Datum mit Englischer Locale oder umgekehrt oder es läuft was beim Erzeugen der Dates/Calendars (was immer du da verwendest) schief, weil die Zeitzonen nicht stimmen.
[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

paradox3lite

Mitglied
ich kann damit 0 anfangen! Ich versuchs nochmal.
es werden mehrere XML Dateien ausgelesen 400+ stück. paar sind 2kb paar sind 3 mb gross und extrem lang ich kann die nicht vergleichen.

ich kenne mich mit java nicht wirklich gut aus
 
Zuletzt bearbeitet:
G

Gast2

Gast
in Windows ausgeführt: in der HTML Datei ...balablabal aus der XML Datei Differenz 6 Tage
in Ubuntu ausgeführt: in der HTML Datei ...blablabla aus der XML Datei Different 79 Tage

Ich tippe mal auf ein anderes DateFormat beim einlesen/andere System Defaults.

Da wird aus dem 06.03.2012 (DD.MM.YYYY)schnell mal der 03.06.2012 (MM.DD.YYYY) und schwupp hast du statt 6 Tagen Differenz eine ganz andere...

Zeig doch mal den Code wo du die Daten parst.
 
Zuletzt bearbeitet von einem Moderator:

paradox3lite

Mitglied
Also die Zeit stimmt auf beiden überein. Vielleicht noch zu Erwähnen dass ich ubuntu mit VMWare betreibe auf dem Windows rechner.
Datumsformat sollte auch gleich sein??!
 

paradox3lite

Mitglied
Also sowie auf Windows wie auf Ubuntu sind Datumsformate auf Deutsch (Schweiz)!

Hier der Code welcher diese Tage ausrechnet. Das wird dann iwie mit dem Codeteil oben gemacht.

Java:
// Day Usage
			String recordOpeningTime = pgwRecord.getChild("recordOpeningTime").getText();
			recordOpeningTime = recordOpeningTime.substring(0, recordOpeningTime.length()-18);
			recordOpeningTime = removeSpaces(recordOpeningTime);
			int int_recordOpeningTime = Integer.valueOf(recordOpeningTime);
			currentBean.setLast_day_BOTH(int_recordOpeningTime);
			if(rATType.equals("6")){
				currentBean.setLast_day_LTE(int_recordOpeningTime);
			} else if (rATType.equals("1")){
				currentBean.setLast_day_UMTS(int_recordOpeningTime);
			}
			
			// Start and End Date
			recordOpeningTime = pgwRecord.getChild("recordOpeningTime").getText();
			String RecordDate = recordOpeningTime.substring(0, recordOpeningTime.length()-9);
			RecordDate = removeSpaces(RecordDate);
			long int_RecordDate = Long.valueOf(RecordDate);
			if(int_RecordDate < statistic_start_time || statistic_start_time == 0)
				statistic_start_time = int_RecordDate;
			if(int_RecordDate > statistic_end_time)
				statistic_end_time = int_RecordDate;

und so sieht das in der XML Datei aus: (Kann mehrmals vorkommen pro Nummer)
<recordOpeningTime>11 12 05 14 57 17 2B 01 00</recordOpeningTime>
 
G

Gast2

Gast
Probier doch mal folgenden Code in beiden Systemen:

Java:
        public static void main(String[] args) throws ParseException {
        	DateFormat dateFormat = DateFormat.getDateInstance();
        	String dateString = "05.03.2012";
        	Date date = dateFormat.parse(dateString);     	
        	if(dateString.equals(DateFormat.getDateInstance().format(date))){
        		System.out.println("Alles gut");
        	} else {
        		System.err.println("locales stimmen nicht");
        	}
        }

Ich geh mal von einem DE-DE Windows aus.
 

timbeau

Gesperrter Benutzer
In deinem Mini-XML Ausschnitt ist <recordOpeningTime>11 12 05 14 57 17 2B 01 00</recordOpeningTime> das das Datum? Und welches Datum? 11. Dez 05 oder 12. Nov 2005 oder 1905 oder oder oder

Wenn du das ganze mal als Jar packst und eine XML-Datei hier hochlädst schau ich mir das mal auf meinem Rechner an.
 
G

Gast2

Gast
Ach, s*****e... Der Code bring nix. Nimm mal String den 23.03.2012. Das sollte ein Parsing Exception geben wenn es nicht passt.

Hast du denn den Code selber geschrieben? Ich sehe da gar kein Date sondern nur longs.... Irgendwie fehlt mir der gesammte Zusammenhang in dem Programm, z.B. wo wird der Code aus deinem Ersten Posting genutzt.
 

paradox3lite

Mitglied
In deinem Mini-XML Ausschnitt ist <recordOpeningTime>11 12 05 14 57 17 2B 01 00</recordOpeningTime> das das Datum? Und welches Datum? 11. Dez 05 oder 12. Nov 2005 oder 1905 oder oder oder

Wenn du das ganze mal als Jar packst und eine XML-Datei hier hochlädst schau ich mir das mal auf meinem Rechner an.

Es wäre folgendes Datum 2011-12-05 Also 05.Dezember 2011
Ich weis nicht ob ich den ganzen Code zeigen darf.


@fassy: Nein nur teilweise mitgeholfen, ich arbeite an einem Projekt, unteranderem muss ich das Programm später mit Ubuntu automatisieren. läuft alles ok ausser diese Day Usage ist bei ubuntu falsch.Der Code von oben wird ist in einer anderen Class, welche im Hauptcode dann aufgeruft wird

@fassy: mit dem String 05.03.2012 erhalte ich auf Ubunti ein ParseException Fehler, unter Win gehts.
 
Zuletzt bearbeitet:

paradox3lite

Mitglied
Tut mir leid ich denke ich kriege das nicht selber hin :/ Vorallem sollte am code nicht zu viel geändert werden dert wird später produktiv eingesetzt. Das Problem mit ubuntu muss doch zu lösen sein.

@fassy: mit dem String 05.03.2012 erhalte ich auf Ubunti ein ParseException Fehler, unter Win gehts.
 
G

Gast2

Gast
@fassy: mit dem String 05.03.2012 erhalte ich auf Ubunti ein ParseException Fehler, unter Win gehts.

ich denke du meinst 23.03.2012? Dann hat dein Ubuntu das Dateformat auf z.B. US English MM.DD.YYYY und das parsen funktioniert natürlich nicht.

also brauchen wir die Funktion:

Java:
DateFormat format = new SimpleDateFormat("hier dein Format rein in dem 11 12 05 14 57 17 2B 01 00 steht");

Beispiel:
Java:
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
String dateString = "23.03.2012";
Date date = dateFormat.parse(dateString);

Ich hab in deinem Code immer noch nicht gefunden wo du eigentlich das Datum einließt ;)
 
G

Gast2

Gast
Wäre auch eine Möglichkeit, aber eigentlich ist es Best Practice den Code locales unabhängig zu programmieren. Was machst du wenn das Live System eine andere locale hat und du es nicht mal merkst?

Probier mal dein Ubuntu umzusetzten, wichtig ist das du auf jeden Fall Eclipse neustartest, sonst siehst du evtl keine Änderung.
 

paradox3lite

Mitglied
Frage vornweg, wie ändere ich genau die locale? Damit die auch übernommen werden sollte doch dann de_CH sein oder?

Dein Vorschlag wäre schon Best Practise, jedoch wüsste ich nicht wie den einbauen :/
 

paradox3lite

Mitglied
So nach einigen Mühe konnte ich wenigstens die Locales ändern. Sehen jetzt so aus, sollten die so korrekt sein?

LANG=de_CH.utf8
LANGUAGE=de_CH:en_US:de_AT:en
LC_CTYPE="de_CH.utf8"
LC_NUMERIC="de_CH.utf8"
LC_TIME="de_CH.utf8"
LC_COLLATE="de_CH.utf8"
LC_MONETARY="de_CH.utf8"
LC_MESSAGES="de_CH.utf8"
LC_PAPER="de_CH.utf8"
LC_NAME="de_CH.utf8"
LC_ADDRESS="de_CH.utf8"
LC_TELEPHONE="de_CH.utf8"
LC_MEASUREMENT="de_CH.utf8"
LC_IDENTIFICATION="de_CH.utf8"
LC_ALL=

Jedoch das Problem ist immernoch da...
 
G

Gast2

Gast
Ich bezweifel das du dein OS richtig konfiguriert hast oder in der Lage dazu bist. Da verplemmperst du nur Zeit.

Aus dem Grund:

Überarbeite deinen Code und bau einen vernünftigen Dateparser ein. Sich auf die System locales zu verlassen ist meist sehr sehr Fehler anfällig und davon rate ich dringend ab. Was meinst du was passiert wen in zwei Jahren mal jemand das Tool auf einem anderen Server ausrollt mit wieder einer anderen locale ohne vom dem Problem zu wissen? Da werden dann im schlimmsten Fall Kunden Rechnungen gestellt die aus euren Systemfehler kommen. Was meinst du was das kostet es später zu analysieren, berichtigen etc?

In der Zeit in der du versucht hast dein Ubuntu umzubiegen hättest du das dreimal erledigen können... ;)
 

timbeau

Gesperrter Benutzer
Jo, du kannst bei den DateFormat die Locale angeben. Nie auf das System verlassen auf dem du arbeitest -> Locale ändern im Programm, nicht auf dem System
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Compiler-Fehler Javac Windows vs Ubuntu /Script vs Konsole Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
izoards Prunsrv - Windows Service - .bat file starten Java Basics - Anfänger-Themen 84
P Unterschied Installation von zipped JDK vs Installer-JDK (auf Windows)? Java Basics - Anfänger-Themen 2
nbergmann Umgebungsvariablen einstellen unter Windows 7 klappt nicht Java Basics - Anfänger-Themen 2
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
OSchriever Jar-Programm läuft auf Windows aber nicht auf Linux(Raspberri Pi4) Java Basics - Anfänger-Themen 22
F Terminal Windows per Befehl schließen? Java Basics - Anfänger-Themen 9
U BestPractise für Deployment unter Windows gesucht Java Basics - Anfänger-Themen 12
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
G Wofür benötigt man die Umgebungsvariablen sowohl in Windows 10 als auch in Mac OS Catalina Java Basics - Anfänger-Themen 19
S Windows printerqueue mit Java löschen Java Basics - Anfänger-Themen 3
F Windows in LinkedList registrieren Java Basics - Anfänger-Themen 3
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
J Windows Builder auf Eclipse portable Java Basics - Anfänger-Themen 1
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
G sql server connection mit windows authentication Java Basics - Anfänger-Themen 2
C GUI Programmierung unter Windows mit Java womit? Java Basics - Anfänger-Themen 11
C Exlipse & SWT Windows Tools etc Java Basics - Anfänger-Themen 8
T Windows service erstellen Java Basics - Anfänger-Themen 1
I gemeinsame Config-Datei für alle Windows-User Java Basics - Anfänger-Themen 5
J fehler nach windows update Java Basics - Anfänger-Themen 44
B Windows Service erstellen Java Basics - Anfänger-Themen 2
D Umgebungsvariable Pfad javaw.exe für Programmstart auf Windows Java Basics - Anfänger-Themen 1
J Windows Version herrausfinden Java Basics - Anfänger-Themen 3
A Testprogramm in java oder javascript für Windows Anwendung? Java Basics - Anfänger-Themen 1
C Java stellt unter Windows keine Umlaute dar Java Basics - Anfänger-Themen 9
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
W JDK installieren JDK Installieren | Windows 8 | Hilfe Java Basics - Anfänger-Themen 8
Martin2606 Erste Schritte Fragestellung zu Windows Embedded 6.5 auf Handhelds Java Basics - Anfänger-Themen 6
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
U Einbetten von Windows Painter in einem Browser Java Basics - Anfänger-Themen 1
D Viele grafische unterschiede von Windows xp zu Windows 7 Java Basics - Anfänger-Themen 3
F Erste Schritte Unter Windows programmieren und dann auf Linux laufen lassen Java Basics - Anfänger-Themen 4
Z Gleiches Verzeichnis für class und java unter Windows Muss? Java Basics - Anfänger-Themen 11
FrankR2 Grundsätzliches Verständnisproblem: Java 32/64-bit; Windows 7/8, 32/64-bit-System Java Basics - Anfänger-Themen 5
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
W Datei wird aus resources unter Windows nicht kopiert Java Basics - Anfänger-Themen 1
K Windows Symbolleiste Icons hinzufügen Java Basics - Anfänger-Themen 7
H Windows Task erstellen Java Basics - Anfänger-Themen 7
D Java geht auf windows 64 bit nicht. Java Basics - Anfänger-Themen 5
K Windows Kontextmenü verändern Java Basics - Anfänger-Themen 5
M Wann PATH und wann JAVA_HOME in Windows System 7 setzen? Java Basics - Anfänger-Themen 2
S Von Windows 7 auf Windows 8? Java Basics - Anfänger-Themen 3
F jabva 7.21 läuft nicht auf windows server 2012? Java Basics - Anfänger-Themen 9
T Variable in Windows Kommandozeile schreiben Java Basics - Anfänger-Themen 4
P Java-Konsolenanwendung mit Parameterübergabe (Windows) Java Basics - Anfänger-Themen 3
G Java unter Mac = schlecht | Windows = gut? Java Basics - Anfänger-Themen 14
M datei startet unter windows 7 nicht Java Basics - Anfänger-Themen 12
J Windows Maus-Zeigerbeschleunigung aktivieren/deaktivieren - Mit Java möglich? Java Basics - Anfänger-Themen 2
N .jar läuft nicht unter Windows 7 Starter Java Basics - Anfänger-Themen 4
FrozeTee .java Dateien unter Windows 7 werden nicht angezeigt Java Basics - Anfänger-Themen 7
S .jar/java Datei ausführen Windows 7 64bit?! Java Basics - Anfänger-Themen 7
A Laufende Applikation hindert Windows am herunterfahren Java Basics - Anfänger-Themen 7
S Umgebungsvariablen unter Windows XP Java Basics - Anfänger-Themen 6
A Windows Builder Java Basics - Anfänger-Themen 4
M Windows Aktionen abfangen Java Basics - Anfänger-Themen 3
Z Umgebungsvariable PATH-Umgebungsvariable unter Windows 7 Java Basics - Anfänger-Themen 27
B Programm startet in IDE,aber nicht in Windows Java Basics - Anfänger-Themen 4
R Umlaute Mac -> Windows Java Basics - Anfänger-Themen 2
S Windows Registry nur lesen Java Basics - Anfänger-Themen 3
E Input/Output Linux datei in Windows zeilenweise einlesen Java Basics - Anfänger-Themen 4
T Windows Fenster Schließen Java Basics - Anfänger-Themen 4
F Frage zu windows/Usbsticks... Java Basics - Anfänger-Themen 2
D Pfadangabe unter windows Java Basics - Anfänger-Themen 7
S Erste Schritte Probleme Editor (Windows) Java Basics - Anfänger-Themen 13
B Input/Output Textdatei einlesen Windows / Linux Java Basics - Anfänger-Themen 2
M windows lautstärkeregler java Java Basics - Anfänger-Themen 2
C ASCII CODES in Linux anders als auf Windows? Java Basics - Anfänger-Themen 4
maddin86 3 Dateien gleichzeitig speichern in dynamisches Benutzerverzeichnis (Windows) Java Basics - Anfänger-Themen 4
M isHidden() von java.io.File liefert immer true in Windows Java Basics - Anfänger-Themen 3
M Externes Programm maximieren in Windows Java Basics - Anfänger-Themen 9
J Java Tool unter Windows ausführen Java Basics - Anfänger-Themen 8
J Windows Ausführen öffnen Java Basics - Anfänger-Themen 13
C Windows Java unter Unix Java Basics - Anfänger-Themen 2
J JAVA_HOME und path setzen bei windows 7 Java Basics - Anfänger-Themen 5
A Mit Java Mozilla/Windows steuern! Java Basics - Anfänger-Themen 3
S Betriebssystem - Ordner erstellen auf Windows & Linux Java Basics - Anfänger-Themen 3
D nur JOptionPane im Windows Style Java Basics - Anfänger-Themen 3
D Windows 7 + jre = Fehler Java Basics - Anfänger-Themen 2
J Classpath bestimmen, unter Windows 7 Java Basics - Anfänger-Themen 2
F Programm sehr langsam. Windows 7? Java Basics - Anfänger-Themen 23
H Datei in den Windows-Programmordner kopieren Java Basics - Anfänger-Themen 5
H Windows Console Ausgabe ? Java Basics - Anfänger-Themen 3
M Java einrichten unter Windows 7 Java Basics - Anfänger-Themen 12
T Windows 7 - Umgebungsvariable ändern Java Basics - Anfänger-Themen 11
M .jar datei starten (windows 7) Java Basics - Anfänger-Themen 2
U JDK auf Windows 7 Java Basics - Anfänger-Themen 17
S Befehl "javac" funktioniert und Windows 7 nicht? Java Basics - Anfänger-Themen 3
H windows 7 javac/path nicht gefunden Java Basics - Anfänger-Themen 3
C Windows Look and Feel unter Linux Java Basics - Anfänger-Themen 10
C laufende Windows Prozesse auslesen/ermitteln Java Basics - Anfänger-Themen 3
JFeel-x renameTo windows XP geht gar nicht? Java Basics - Anfänger-Themen 5
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
M prozess-managment Windows java Java Basics - Anfänger-Themen 4
L Windows-Umgebungsvariablen mit Java setzen? Java Basics - Anfänger-Themen 11
B Java-Anwendung im Windows Design Java Basics - Anfänger-Themen 8
G Windows 98SE/Extern Programm aufrufen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben