Zum Inhalt springen

steve77

Mitglieder
  • Gesamte Inhalte

    42
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von steve77

  1. steve77

    String splitten

    Hallo Leute, hab eine Frage zum „splitten“ von Strings. Es sieht folgendermaßen aus. Ich haben einen String diesen will ich in 5 Teile teilen. Wie mache ich das am besten? Bis jetzt habe ich folgendes gemacht: public static String NoSplitting(){ int i = StringKek.length(); float x = i/5; //runden int kekParts = Math.round(x); if(i % kekParts > 0) kekParts += 1; ArrayList myStringParts = new ArrayList(); int k = 0; for(int j = 0; j < kekParts; j++) if(j == (kekParts - 1)){ String myPart = StringKek.substring(k); myStringParts.add(myPart); }else { String myPart = StringKek.substring(k, 5 * (j+1)); k = 5 * (j+1); myStringParts.add(myPart); } return myStringParts.toString(); } Das ergibt folgendes Ergebnis: No: a57e1d2ab03952072150ceadf7295e843cc25f7e0cf74eaac8a46d766de4fe7b Splitted - No: [a57e1, d2ab0, 39520, 72150, ceadf, 7295e, 843cc, 25f7e, 0cf74, eaac8, a46d7, 66de4, fe7b] No ist der String der gesplittet werden soll. Splittet – No ist dann der geteilte String. Ich möchte nun aber nur 5 teile haben, nicht 13. Weiss jemand rat? Vielen Dank Gruß steve
  2. steve77

    Shamir Secret Sharing

    Hi, danke schonmal für die tipps. Ist ein sehr mathematisches thema. Ich denke mal ich werde mir jetzt mal ein beispiel heraussuchen und das durchrechnen. @flaspixx, danke aber ich werde erstmal selber suchen und wenn ich noch fragen haben sollte mich hier nochmal melden.
  3. Hallo Leute, ich will einen Key-Sharing-Algorithmus (Shamir) benutzen, um einen Schlüssel auf verschiedene Instanzen aufzuteilen. Hat jemand eine gute theoretische Einführung (nicht Wikipedia!!) für mich, die dieses Thema halbwegs verständlich rüberbringen kann! Vielen Dank… Viele Grüße stefan
  4. Danke für die Info, so wie du es bei 1. vorgeschlagen hast, so habe ich es auch gemacht. Habe einfach alle Meldungen die ausgegebn werden in eine Datei schreiben lasen (über die xml-Dateien) und dies ehabe ich dann einfach auslesen lassen. Gruß stefan
  5. Hi, danke für deine Bemühungen, hab schon einwenig was gefunden. Man muss nur etwas länger suchen vg stefan
  6. Hi, vielen Dank schonmal für die Info's. Ich denke um ein bisschen Mathematik werde ich wohl nicht rumkommen. Aber ganz so tief wollte ich da nicht einsteigen. Eigentlich wollte ich das vielmehr anwenden. Weil so einen algorithmus wird es doch sicherlich schon irgendwo geben. Ich hab z.B. einen AES-256 benutzt, hab mir ein Beispiel aus dem Netz geladen und dann einfach mit ein mein Programm eingebunden, hat funktioniert! Ich denke aber in diesem fall ist das nicht so einfach, oder?
  7. Hallo leute, ich habe da eine allgemeine Frage wegen einens Verschlüsselungsalgorithmus. Es gibt ein Verfahren, dass man "Key Spliitung" nennt. Definition: Key Splitting: erlaubt es, besonders wichtige Schlüssel in Teilschlüssel zu zerlegen, von denen eine gewisse Anzahl zum Wiederherstellen des eventuell verloren gegangenen Originalschlüssels nötig sind. So ist es denkbar, einen »Chefschlüssel« in fünf Teilschlüssel zu zerlegen, von denen drei zur Wiederherstellung nötig sind. Damit können die Inhaber dieser Teilschlüssel nach einem Verlust des »Chefschlüssels« (durch welche Ursache auch immer) an bisher verschlüsselte Unterlagen gelangen, wobei sichergestellt ist, daß dies nur eine qualifizierte Mehrheit der »Stellvertreter« darf und somit ein Alleingang einer Person ausgeschlossen ist. Kann mir jemand vielleicht Internetseiten empfehlen, wo ich mehr Informationen über diese Thema finde und vielleicht auch ein Beispiel, vielen Dank Stefan
  8. Es sieht so aus, das meine programm mit einem Tomcat-Server zusammen arbeitet. D.h. wenn un mehrere Leute mein Programm benutzen, braucht man nicht immer die Verzeichnisse zu wechseln. Der workspace kann ja bei jedem rechner an einem anderen ort liegen. Das ist auch so gewollt. Hast du vielicht ein beispiel, wie ich eine textdatei einlesen kann und das ergebnis auf einer textarea ausgeben kann?
  9. Sorry, das sollte aber so bleiben, da dies eine feste adresse wo das Verzeichnis liegt. Mein Problem ist, das ich nicht weiss wie ich in einem verzeichnis, indem mehrere Textdateien liegen, auf eine bestimmte textdatei zugreifen und diese auslesen kann?
  10. Hallo, ich habe folgendes Problem. Ich möchte auf eine in einem Verzeichnis liegende Textdatei zugreifen (nur auf diese). Nun weiss ich nicht genau wie ich das bewerkstelligen kann. Mein bisheriger Quellcode sieht folgendermassen aus: public void actionPerformed(ActionEvent evt) { String cmd = evt.getActionCommand(); if (cmd.equals("close")) { int wahl = JOptionPane.showConfirmDialog(frame, "Do you really want to close?", "EXIT", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); if (wahl == JOptionPane.YES_OPTION) frame.dispose(); } if (cmd.equals("start")) { BufferedReader br = null; try { br = new BufferedReader (new FileReader(System.getenv("TestHome")+ "/log/")); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } String line; //solange ein STring vorhanden ist try { while((line = br.readLine()) != null){ line +="\n"; line += br.readLine(); consoleTextArea.setText(line); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Kann mir da jemand unter die arme greifen, danke!
  11. Hallo, ich habe folgendes Problem. Ich möchte, dass die Konsolenausgaben auf eine Textarea umgeleitet, ausgegeben werden (ist glaub ich schon bekannt:-)) Ich benutze log4j um die von Tomcat erzeugten Meldungen zu loggen. Es gibt ja nun einen ConsolAppender mit dem man sozusagen die KOnsolenausgabe loggen kann. Meine Frage ist nun wie ich am besten auf diesen zugreifen kann, d.h. ich will die "geloggte" Datei auslesen und auf einem Screen darstellen. Über ein Beispiel würde ich mich sehr freuen:-) Vielen Dank schonmal für die Hilfe..... Gruß Stefan
  12. Ja, sorry, ist der letzte forumeintrag über KOnsolen von mir Also es soll so ablaufen. Mein Programm wird gestartet. Z.B. der RFC-Handler. Nun bekomme ich folgende ausgabe auf die Konsole: 06-04 11:25:04 INFO - Testprogramm - RFCHandler started wenn nun im weiteren verlauf etwas passiert, z.b. wird der rfc handler geschlossen, gibt es wieder eine meldung: 06-04 13:35:04 INFO - Testprogramm - RFCHandler closed Diese Ausgaben möchte ich nun nicht mehr auf der KOnsole sondern in meine Textarea schreiben. D.h. ich drücke den button und er gibt mir fortlaufend die KOnsolenausgaben (wenn welche vorhanden sind). Ich hoffe ich konnte das jetzt etwas einleuchtender erklären. Folgender Quellcodeausschnitt ist hierbei relevant: private class ButtonManager implements ActionListener { /** * Auf Anklicken eines Buttons reagieren. */ public void actionPerformed(ActionEvent event) { Random rand = new Random(); /** * zufaellig Text ausgeben oder Exception werfen */ try { if (rand.nextBoolean()) { System.out.print("Test Ausgabe"); } else { throw new Exception("Fehler"); } } catch (Exception e) { e.printStackTrace(); } Ich weiss leider nicht wie ich auf die konsole zugreifen kann, damit die meldungen auf der textarea ausgegeben werden?
  13. Es ist zum verzweifeln, ich bekomme es nicht hin, dass die KOnsolenausgabe auf eine Textarea ausgegeben wird. Ich habe nun folgendes ausprobiert. 1. public class ConsoleTestWindow extends JFrame { private static final long serialVersionUID = -6154572297336259192L; /** Stream fuer Ausgabe */ private ByteArrayOutputStream stream = new ByteArrayOutputStream(); /** TextArea und Button fuer Formular */ private JTextArea textArea; private JButton button; /** * Innere Klasse zur Verwaltung der ActionListener * beim Anklicken eines Buttons. * * @author NetPanther */ private class ButtonManager implements ActionListener { /** * Auf Anklicken eines Buttons reagieren. */ public void actionPerformed(ActionEvent event) { Random rand = new Random(); /** * zufaellig Text ausgeben oder Exception werfen */ try { if (rand.nextBoolean()) { System.out.print("Test Ausgabe"); } else { throw new Exception("Fehler"); } } catch (Exception e) { e.printStackTrace(); } /** Buffer erzeugen und Zeit + Meldung anhaengen*/ StringBuffer buffer = new StringBuffer(); buffer.append(new SimpleDateFormat("[HH:mm:ss]").format(new Date()) + ": "); buffer.append(new String(stream.toByteArray()) + "\n"); /** Buffer ausgeben und zuruecksetzen */ textArea.append(buffer.toString()); stream.reset(); } } /** * Konstruktor erzeugt ein Fenster mit einfacher * Fehlerkonsolte und Button. */ public ConsoleTestWindow() { /** Fenster konfigurieren */ super("Console"); JFrame.setDefaultLookAndFeelDecorated(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /** Formular erzeugen */ this.createForm(); } /** * Klickt man die Schaltflaeche an, wird * zufaellig ein Text ueber System.out * ausgegeben oder eine Exception ueber * System.err geworfen. */ private void createForm() { /** Ausgabe auf Stream umbiegen */ System.setOut(new PrintStream(stream)); System.setErr(new PrintStream(stream)); /** TextArea und Button erzeugen*/ textArea = new JTextArea(); button = new JButton("Ausgabe erzeugen"); /** ActionListener an den Button haengen */ button.addActionListener(new ButtonManager()); /** Krams ins Fenster einfuegen */ this.add(button, BorderLayout.NORTH); this.add(new JScrollPane(textArea), BorderLayout.CENTER); } } 2. import java.awt.EventQueue; import javax.swing.JFrame; /** * Programmfenster erzeugen und Anwendung ausfuehren. * */ public class StarterClass { /** * JFrameShower zum Anzeigen des Swing Fensters. * */ static class JFrameShower implements Runnable { final JFrame frame; public JFrameShower(JFrame frame) { this.frame = frame; EventQueue.invokeLater(this); } public void run() { frame.setLocation(300, 300); frame.setSize(700, 350); frame.setVisible(true); } } /** * Hauptprogramm erzeugt Fenster und zeigt dieses an. * * @param args Parameterliste */ public static void main(String[] args) { new JFrameShower(new ConsoleTestWindow()); } } Dieses Beispiel ergibt nun folgendes Ergebnis: [entfernt auf Wunsch des Erstellers by e@sy] Vielen Dank schonmal für die Hilfe..... Stefan
  14. Hallo, ich habe immer noch probleme die Konsolenausgabe auf eine Textarea umzuleiten. Ich ahbe folgenden Quellcode: public ConsoleTest() { frame = new JFrame("Console"); JPanel consolePanel = new JPanel(); consolePanel.setLayout(new BorderLayout()); consoleTextArea = new JTextArea(); consoleTextArea.setEditable(false); pane = new JScrollPane(consoleTextArea); consolePanel.add(pane, BorderLayout.CENTER); buttonPanel = new JPanel(); FlowLayout jPanel1Layout = new FlowLayout(); consolePanel.add(buttonPanel, BorderLayout.SOUTH); buttonPanel.setLayout(jPanel1Layout); openConsolButton = new JButton(); buttonPanel.add(openConsolButton); openConsolButton.setText("Open console"); openConsolButton.setActionCommand("open"); openConsolButton.addActionListener(this); openConsolButton.setPreferredSize(new java.awt.Dimension(98, 21)); closeButton = new JButton(); buttonPanel.add(closeButton); closeButton.setText("Close"); closeButton.setActionCommand("close"); closeButton.addActionListener(this); closeButton.setPreferredSize(new java.awt.Dimension(98, 21)); frame.getContentPane().add(consolePanel); frame.setSize(700, 900); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent evt) { String cmd = evt.getActionCommand(); if (cmd.equals("close")) { int wahl = JOptionPane.showConfirmDialog(frame, "Do you really want to close?", "EXIT", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); if (wahl == JOptionPane.YES_OPTION) frame.dispose(); } if (cmd.equals("open")) { PrintStream p = new PrintStream( new OutputStream() { public void write( int b ) { consoleTextArea.append( (char)b ); } } ); System.setErr(p); System.setOut(p); } } public static void main(String[] arg) throws IOException { new ConsoleTest(); // create console with not reference } } Sollte eigentlich , denke ich?!, funktionieren?? Macht es aber leider nicht. Ich bekomme einen Fehlermeldung wenn ich die Sachen an den Textarea anhängen will. consoleTextArea.append( (char)b ); Er meckert über das append. Fehlermeldung. The method append (String)in the type JTextArea is not applicable for the argument (char). Wie mache ich das denn richtig? Vielen Dank Stefan
  15. Hi, ok. :confused:dann werden die Code Tags wie in anderen foren auch benutzt, werd mich ab jetzt daran halten . Nochmal zu meinem Problem: Hast du vielleicht ein gutes Beispiel wie ich den pipedinputstream auslesen kann? Danke !!
  16. Hi, danke schonmal für die Hilfe, ich verstehe aber folgende Sätze nicht: "Was Du machst, ist, Dir die String-Repräsentation des OutputStreams geben zu lassen. Das ist die von Dir geschriebene Ausgabe und nicht der Inhalt." Was meinst du mit String-Repräsentation? Wie verwendet man die Code-tags in diesem Forum? ??? Gruß steve
  17. Hallo leute, also ich habe da ein Problem, das ich nicht lösen kann. Also geht los: Ich möchte die Ausgaben (messages) die auf der Konsole erscheinen (wie z.B.) warn, info... usw) umleiten auf eine textarea. D.h. ich habe mir einen screen gebastelt mit einem Button (start Konsole), wenn ich diesen nun drücke soll die Konsole hier ausgegeben werden. Ich habe schon viel rumprobiert, bin aber leider noch zu keiner lösung gekommen. Ich weiss, dass es einen Inputstream und einen outputstream gibt, diese muss man miteinander verbinden. PipedInputStream pis = new PipedInputStream(); PipedOutputStream pos = new PipedOutputStream(pis); System.setOut(new PrintStream(pos)); Leider funktioniert das nicht. Der Teil meines Quellcodes für das Drücken des Buttons, sieht nun folgender massen aus: btn = new JButton("Start Console"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { //Dieser Teil gibt die Uhrzeit aus StringBuffer buffer = new StringBuffer(); SimpleDateFormat sdf = new SimpleDateFormat("[hh:mm:ss]"); buffer.append(sdf.format(new Date())); buffer.append(" : "); buffer.append(new String(baos.toByteArray())); buffer.append("\n"); textArea.append(buffer.toString()); baos.reset(); //Hier soll nun die KOnsole ausgegeben werden PipedInputStream pis = new PipedInputStream(); PipedOutputStream pos = new PipedOutputStream(pis); System.out.println(pos); //der Standardausgabekanal wird umgesetzt System.setOut(new PrintStream(pos)); String test = pos.toString(); textArea.append("Variable test: " + test); } catch (Exception ex) { ex.printStackTrace(); } Das Ergebnis nach dem der Button "Start Consol" gedrückt wurde sieht folgendermassen aus: [08:26:55] : Variable test: java.io.PipedOutputStream@1cbfe9d Eigentlich sollte, da ja aber sowas wie folgendes stehen: [08:26:55] : log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.ConfigurationUtils). Kann mir da jemand helfen, oder hat ein verständliches Beispiel für mich, für Hilfe wäre ich echt super dankbar. Gruß Steve

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...