Ping in JTextArea anzeigen

Diskutiere Ping in JTextArea anzeigen im Netzwerkprogrammierung Forum; Hey, hatte vor einer Weile das selbe Problem. Das Charset der Kommandozeile ist auch nicht UTF-8 sondern "850" (Also einfach nur "850"). So war es...

  1. Times
    Times Mitglied
    Hey, hatte vor einer Weile das selbe Problem.
    Das Charset der Kommandozeile ist auch nicht UTF-8 sondern "850" (Also einfach nur "850"). So war es zumindest bei mir. Um dein richtiges herauszufinden öffne die Kommandozeile und gib ein:
    chcp
    Dann kommt so etwas wie:
    Aktive Codepage: 850.

    BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream(),Charset.forName("850").newDecoder()));
     
  2. MaxG.
    MaxG. Mitglied
    @Times Danke für die Antwort, habs gleich ausprobiert und es Funktioniert, hätte nicht mehr daran gedacht das das noch was wird.
    Vielen Dank!

    hier noch der Verbesserte Code:
    Code (Java):
    package Sonstige;

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.nio.charset.Charset;
    import java.nio.charset.StandardCharsets;
    import java.util.ArrayList;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import javax.swing.WindowConstants;

    public class Ping {

        static JFrame mainFrame;
        static JFrame result;

        static JPanel panelButton;
        static JPanel panelTextField;
        static JPanel panelLabel;
       
        static JLabel infoLabel;
        static JTextArea textAreaResults;
        static JTextField input;
        static JButton buttonStart;

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            mainFrame = new JFrame();
            mainFrame.setSize(250, 175);
            mainFrame.setTitle("Ping Tool");
            mainFrame.setLayout(new BorderLayout());
           
            result = new JFrame();
            result.setSize(500, 350);
           
            textAreaResults = new JTextArea();
            textAreaResults.setEditable(false);
           
            result.add(textAreaResults);
            result.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
           
            panelButton = new JPanel();
            panelTextField = new JPanel();
            panelLabel = new JPanel();
           
            infoLabel = new JLabel("Bitte IP Adresse eingaben");
            input = new JTextField(13);
            buttonStart = new JButton("Ping Starten");
           
            panelButton.add(buttonStart);
            panelTextField.add(input);
            panelLabel.add(infoLabel);
           
            listener();
           
            mainFrame.add(panelLabel, BorderLayout.NORTH);
            mainFrame.add(panelTextField, BorderLayout.CENTER);
            mainFrame.add(panelButton, BorderLayout.SOUTH);
            mainFrame.setVisible(true);
            mainFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        }
       
       
        static private void showResults() throws IOException{
            mainFrame.dispose();
            result.setVisible(true);
            ProcessBuilder processBuilder = new ProcessBuilder(new String[] { "ping", input.getText().trim() });
            Process process = processBuilder.start();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream(),Charset.forName("850").newDecoder()));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
                textAreaResults.append(line + "\n");
            }

            bufferedReader.close();
           
           
           
        }
       
        static private void listener(){
            buttonStart.addActionListener(new ActionListener() {
               
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    try {
                        showResults();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            });
        }

    }
     
     
Die Seite wird geladen...

Ping in JTextArea anzeigen - Ähnliche Themen

Netzwerk Ping falsches ergebnis
Netzwerk Ping falsches ergebnis im Forum Netzwerkprogrammierung
thymeleaf RequestMapping
thymeleaf RequestMapping im Forum HTML / CSS / JScript / AJAX
Ping tool
Ping tool im Forum Mobile Geräte
Minecraft-Server pingt lange
Minecraft-Server pingt lange im Forum Allgemeine Java-Themen
JPanel rotieren, Bild ist abgeschnitten, Clipping?
JPanel rotieren, Bild ist abgeschnitten, Clipping? im Forum AWT, Swing, JavaFX & SWT
Thema: Ping in JTextArea anzeigen