Problem beim Einlesen einer Textdatei

Fetzi

Mitglied
Guten Abend alle zusammen,

ich steuer über TCP/IP einen KUKA Roboter an und setze über Netzwerk Variablen, damit er seinen Position ändert. Wenn ich diese manuell eingeben läuft alles super. Sobald ich die Variablen jedoch aus einer Textdatei lesen will stellt sich mein Programm quer.
Java:
package no.hials;

import java.io.IOException;
import java.util.Scanner;
import no.hials.crosscom.CrossComClient;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;


public class Anfahren {
  public static void main(String[] args) throws IOException {
     String[] test = {"172.19.11.46","7000"};
             if (test.length != 2) {
            System.out.println("Error! Both IP and port must be provided as input arguments!");
            System.out.println("Terminating..");
            System.exit(1);
        }

        String address = test[0];
        int port = -1;
        try {
            port = Integer.parseInt(test[1]);
        } catch (NumberFormatException ex) {
            System.out.println("Error on parsing port number! Tried to convert '" + test[1] + "' to int..");
            System.out.println("Terminating..");
            System.exit(1);
        }

        CrossComClient client = null;
        try {
            client = new CrossComClient(address, port);
        } catch (IOException ex) {
            System.out.println(ex);
            System.out.println("Terminating..");
            System.exit(1);
        }
 
 
    Scanner sc = new Scanner(System.in);
    String[] punkte;
 
    System.out.println("Manuelle Eingabe (0)");
    System.out.println("Einlesen einer Textdatei (1)");
    int manual = 1;//Integer.parseInt(sc.nextLine().trim());
 
    if (manual == 0) {
      System.out.println("Wie viele Punkte zur Kalibrierung sollen angefahren werden?");
      punkte = new String[Integer.parseInt(sc.nextLine().trim())];
      for (int i = 1;i <= punkte.length ;i++ ) {
        System.out.println("Geben sie den " + i +"ten Kalibrierungspunkt an");
        punkte[i-1] = sc.nextLine().trim();
    } // end of for
    } else {
      System.out.println("Name der Textdatei angeben (Bsp: test.txt)");
      punkte = ladeDatei(sc.nextLine().trim());                                                                   
    } // end of if-else
 
    for (int i = 0;i <punkte.length ;i++ ) {
      System.out.println(punkte[i]);
    } // end of for
 
 
 
    System.out.println("Wie viele Sekunden soll zwischen den Punkten gewartet werden?");
    int wait =  Integer.parseInt(sc.nextLine().trim());
 
    for (int i = 0;i <punkte.length ;i++ ) {
      client.simpleWrite("MYPOS", punkte[i]);
      try        {
        Thread.sleep(wait*1000);
      }
      catch(InterruptedException ex) {
        Thread.currentThread().interrupt();
        }
    } // end of for
  } // end of main
   public static String[] ladeDatei(String datName) {

    File file = new File(datName);
    List<String> list = new ArrayList<String>();
 
 
    if (!file.canRead() || !file.isFile()) {
      System.exit(0);
    } else {
      BufferedReader in = null;
        try {
        in = new BufferedReader(new FileReader(datName));
        String zeile = null;
            while ((zeile = in.readLine()) != null) {
            list.add(zeile);
            }
        } catch (IOException e) {
        e.printStackTrace();
        } finally {
            if (in != null)
            try {
            in.close();
            } catch (IOException e) {
              }
        }
    } // end of if-else
 
    return list.toArray(new String[0]);
    }
}  // end of class Anfahren

Die Methode "ladeDatei" liest die Datei aus und returned mir einen String.
Wenn ich den Verbindungsteil entferne läuft das Programm auch. Hier mal in "test3" festgehalten.

Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.io.IOException;
import java.util.Scanner;

public class test3 {
 
  public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    String[] punkte;
  
    System.out.println("Manuelle Eingabe (0)");
    System.out.println("Einlesen einer Textdatei (1)");
    int manual = Integer.parseInt(sc.nextLine().trim());
  
    if (manual == 0) {
      System.out.println("Wie viele Punkte zur Kalibrierung sollen angefahren werden?");
      punkte = new String[Integer.parseInt(sc.nextLine().trim())];
      for (int i = 1;i <= punkte.length ;i++ ) {
        System.out.println("Geben sie den " + i +"ten Kalibrierungspunkt an");
        punkte[i-1] = sc.nextLine().trim();
    } // end of for
    } else {
      System.out.println("Name der Textdatei angeben (Bsp: test.txt)");
      punkte = ladeDatei(sc.nextLine().trim());                                                                   
    } // end of if-else
  
    for (int i = 0;i <punkte.length ;i++ ) {
      System.out.println(punkte[i]);
    } // end of for
  
  } // end of main
 
   private static String[] ladeDatei(String datName) {

    File file = new File(datName);
    List<String> list = new ArrayList<String>();
  
  
    if (!file.canRead() || !file.isFile()) {
      System.exit(0);
    } else {
      BufferedReader in = null;
        try {
        in = new BufferedReader(new FileReader(datName));
        String zeile = null;
            while ((zeile = in.readLine()) != null) {
            list.add(zeile);
            }
        } catch (IOException e) {
        e.printStackTrace();
        } finally {
            if (in != null)
            try {
            in.close();
            } catch (IOException e) {
              }
        }
    } // end of if-else
  
    return list.toArray(new String[0]);
    }
} // end of class test3


Interessant ist auch, dass das Programm läuft wenn ich einen Haltepunkt vor "return list.toArray(new String[0])" setze.
In der Konsole steht dann: "Listening for transport dt_shmem at adress:jdbconn"

Meine Erfahrung ist leider unzureichend um das Problem festzumachen. Ich hoffe Ihr könnt mir weiterhelfen


Vielen Dank schonmal!
 
Zuletzt bearbeitet:

truesoul

Top Contributor
Es ist schwierig daran festzumachen woran es liegen könnte aber ich würde auch erst eine Verbindung aufbauen, wenn ich die Datei gelesen habe und nicht wie du vorher schon.
 

Fetzi

Mitglied
Ich habe es soweit festgemacht, dass es an "package no.hials;" liegt.
Auch wenn ich nichts aus dem Paket verwende funktioniert auch test3 nichtmehr sobald ich es einbinde.

Ich habe das Einlesen testweise etwas vereinfacht:
Code:
String datName = sc.nextLine().trim();
   
      List<String> list = new ArrayList<String>();
   
      FileReader fr = new FileReader(datName);
      BufferedReader br = new BufferedReader(fr);
   
      String zeile = "";
   
      while( (zeile = br.readLine()) != null )
      {
        list.add(zeile);
      }
   
      br.close();
Wenn ich das Ganze jetzt ausführe mit "package no.hials", dann bekomme ich folgende Fehlermeldung:
https://picload.org/view/drdwrpll/unbenannt.png.html
unbenannt.png.html
 

Robat

Top Contributor
FileNotFoundException .. dein File unter dem angegebenen Pfad nicht gefunden.
Wie sieht datName denn aus? Wo liegt dein File?
 

truesoul

Top Contributor
Verwende einfach mal:

Java:
J
        JFileChooser fj = new JFileChooser();
        fj.showOpenDialog(null);

        File selectedFile = fj.getSelectedFile();
        System.out.println(selectedFile);

um die Dateien auszuwählen.
 

Fetzi

Mitglied
Also erstmal Danke für die Hilfe.
Mein Problem habe ich wie gesagt bereits gelöst. Binde ich das package ein kann ich nichtmehr einfach "test.txt" eingeben sondern muss "/no/hials/test.txt" nutzen.


Moin,

und warum willst Du es einbinden, wenn Du es eh' nicht benutzt ?? o_O

VG Klaus
Das war auf test3 bezogen in meiner richtigen Anwendungen brauche ich es natürlich
 

JStein52

Top Contributor
Was geht denn nun und was geht nicht ? Das laden der Punkte aus der Datei funktioniert also ? Und diese Punkte sind inhaltlich korrekt ? Aber dein Roboter kommt nicht damit zurecht wenn du sie aus der Datei lädtst ?

Edit: ah ok. Also alles geht jetzt ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Problem beim einlesen bestimmter Seiten Allgemeine Java-Themen 5
S Problem beim Einlesen von byte-werten aus datei Allgemeine Java-Themen 2
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
G javamail Problem beim Empfangen von Nachrichten Allgemeine Java-Themen 3
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
J Problem beim Generischen Klassen und Interfaces Allgemeine Java-Themen 2
G Problem beim GUI Allgemeine Java-Themen 9
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
I Problem beim Aufrufen, von Objektmethoden/ -variablen Allgemeine Java-Themen 6
D Selenium WebDriver HtmlUnitDriver Problem beim Automatisieren Allgemeine Java-Themen 1
F Problem beim Speichern eines Attachments Allgemeine Java-Themen 3
M Problem beim Starten der Anwendung Allgemeine Java-Themen 3
O Problem beim Auslesen einer Arraylist von JComboBoxen Allgemeine Java-Themen 2
GUI-Programmer JNI - Problem beim Erstellen der .dll Allgemeine Java-Themen 9
D Problem mit Referenzen beim Serialisieren Allgemeine Java-Themen 3
R Problem beim vCard Manipulieren Allgemeine Java-Themen 2
Rudolf Problem beim Visitorpattern Allgemeine Java-Themen 2
J Problem beim Auslesen einer Datei vom Server Allgemeine Java-Themen 4
M Problem beim schreiben einer eigene generische Klasse Hashtable Allgemeine Java-Themen 11
U Mailclient über getDesktop.mail vorbereiten, Problem beim Anhang: Allgemeine Java-Themen 3
M Problem beim schreiben einer eigene generische Klasse LinkedList Allgemeine Java-Themen 34
N Problem beim lesen einer File in JAR-File Allgemeine Java-Themen 3
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
M Problem beim Drucken von PDFs Allgemeine Java-Themen 3
H Problem beim Sortieren einer HashMap mit TreeSet Allgemeine Java-Themen 4
I Problem beim Ausführen von Shell Commandos Allgemeine Java-Themen 3
O Problem beim Ausgeben von Arrays Allgemeine Java-Themen 9
L Problem beim animieren von Bildern in Applet Allgemeine Java-Themen 23
Apo JNI-Problem beim erneuten Laden einer dll Allgemeine Java-Themen 28
S Problem beim Drucken auf Netzwerkdrucker unter Linux Allgemeine Java-Themen 9
S Problem beim Anlegen eines JDialogs! Allgemeine Java-Themen 4
A Problem mit ShutdownHook beim schließen Allgemeine Java-Themen 7
S Problem beim Löschen des Inhalts des Fensters Allgemeine Java-Themen 4
A Problem beim serialisieren/deserialisieren einer ArrayList Allgemeine Java-Themen 3
M Problem beim Umrechnen von Pixel in cm. Allgemeine Java-Themen 6
M Problem beim ausführen von Batchdateien Allgemeine Java-Themen 21
Escorter Problem beim starten von Batchfiles Allgemeine Java-Themen 4
A Problem beim Starten der H2-Datenbank Allgemeine Java-Themen 4
L WindowsTrayIcon in Java 1.4 - Problem beim ausführen der JAR Allgemeine Java-Themen 2
E Problem beim Anlegen einer Datei Allgemeine Java-Themen 4
E Problem beim Dateien kodieren ("Byte = Byte +1") Allgemeine Java-Themen 3
G Problem beim starten von eclipse product Allgemeine Java-Themen 2
M Problem beim Erstellen eines Objektes Allgemeine Java-Themen 3
M Problem beim laden von vielen Bildern Allgemeine Java-Themen 16
H Problem beim Malen auf ein Panel Allgemeine Java-Themen 2
G iText: Problem beim Drucken von AcroFormen Allgemeine Java-Themen 2
E Problem beim fertigen Programm die Hintergrundfarbe ändern Allgemeine Java-Themen 8
karambara Sonderzeichen-Problem beim Lesen und Speichern von Dateien Allgemeine Java-Themen 6
R Problem beim Datentransfer Allgemeine Java-Themen 19
C Problem beim Umstieg von Java1.4 auf 1.5 Allgemeine Java-Themen 5
K javax.comm Problem beim starten aus .jar heraus Allgemeine Java-Themen 3
S Problem beim Bearbeiten von Java-Dateien unter Linux Allgemeine Java-Themen 3
S Hab ein Problem! Bei Dame! Beim Umranden! Allgemeine Java-Themen 2
G Problem beim speichern von Dateien Allgemeine Java-Themen 8
M Problem mit PageFormat beim Drucken Allgemeine Java-Themen 2
Streeber Problem beim Kompilieren und Ausführen Allgemeine Java-Themen 20
E Problem beim Compilieren Allgemeine Java-Themen 6
O JNI Problem beim kompilieren Allgemeine Java-Themen 2
M Codepage Problem (Vertauscht Zeichen beim Lesen aus Datei) Allgemeine Java-Themen 3
P Problem beim "spliten" eine Textdatei Allgemeine Java-Themen 3
F Problem beim Drucken mit javax.print Allgemeine Java-Themen 2
Z Problem beim Aufruf eines Listener? Allgemeine Java-Themen 4
bernd Problem beim kopieren! Allgemeine Java-Themen 2
B problem beim erstellen einer ausführbaren jar-datei Allgemeine Java-Themen 5
A Problem beim Aufruf von javac Allgemeine Java-Themen 7
J JFrame Problem beim schließen Allgemeine Java-Themen 2
S Problem beim Zugriff auf Internetseiten Allgemeine Java-Themen 4
R Problem beim speichern von eigenem objekt Allgemeine Java-Themen 6
krgewb Problem mit Umlauten und Eszett bei InputStream Allgemeine Java-Themen 3
Max246Sch Backtracking Problem Box Filler Allgemeine Java-Themen 6
NightVision402 VisualVM Startskript Problem Allgemeine Java-Themen 3
javaBoon86 Email Server Connection Problem Allgemeine Java-Themen 1
F Problem mit PDFBOX Library Allgemeine Java-Themen 1
A Java modul Problem Allgemeine Java-Themen 4
D Read JSON File Problem Allgemeine Java-Themen 9
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
J Problem mit JasperReports Allgemeine Java-Themen 8
M log4j Problem mit jlink Allgemeine Java-Themen 19
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
P Selenium . getText Problem Allgemeine Java-Themen 9
A Jar zu Exe Problem Allgemeine Java-Themen 13
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
A Thread.sleep Problem Allgemeine Java-Themen 2
A Problem bei der Nachbarschafttest Allgemeine Java-Themen 11
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
Splayfer JDA Problem mit MessageCounter Allgemeine Java-Themen 0
Splayfer Problem mit BufferedWriter Allgemeine Java-Themen 3
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
N Maven Problem mit Datenbanktreiber (H2 Embedded) Allgemeine Java-Themen 12
B Einfach Elemente zweier Arraylisten kreuz und quer vergleichen, min und max Problem? Allgemeine Java-Themen 16
C ArrayList Problem Allgemeine Java-Themen 3
kev34 nim-Spiel problem Allgemeine Java-Themen 1
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
G Welches Problem besteht bei den Typparametern? Allgemeine Java-Themen 5
temi Problem mit Aufrufreihenfolge bei Vererbung Allgemeine Java-Themen 3
Sumo_ow "ArrayIndexOutofBoundsException: 2" Array Problem Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben