CSV Datei Hilfe zur Aufgabe bidde

Du kannst es debuggen und dann schauen, welche Variable das Problem verursacht. Falls dir Debuggen aber noch zu komplex ist, kann ich dir folgendes anbieten:

Java:
   private static Path locateFileWithType(String msg, String... contentTypes)
         throws IOException {
      JFileChooser fc = new JFileChooser();
      File f = null;
      Path p = null;
      while (true) {
         int returnVal = fc.showDialog(null, msg);
         if (returnVal == JFileChooser.APPROVE_OPTION) {
            f = fc.getSelectedFile();
            System.out.println("f = " + f.getAbsolutePath());
            p = f.toPath();
            if (Files.isRegularFile(p) && Files.isReadable(p)) {
               System.out.println("Datei hat den Typ " + Files.probeContentType(p));
               for (String type : contentTypes) {
                  if (Files.probeContentType(p).equals(type)) {
                     return p;
                  }
               }
            }
            else
            {
               System.out.println("Datei ist keine reguläre Datei oder nicht lesbar.");
            }
            JOptionPane.showMessageDialog(null,
                  "Die Datei hat nicht den richtigen Typ");
         } else
            break;
      }
      return null;
   }

Beachte die Meldungen in der Konsole. Was siehst du da?
 
er zeigt mir diese meldung (kanns nicht ausführen) ;The method locateFileWithType(String, String...) from the type Test is never used locally

Bei zeile 1

so sieht mein code aus :
Code:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
 
public class Test {
   /**
    * Lokalisiert Datei mit einem der vorgebenen MIME-Typen.
    *
    * @param msg
    *            Text fuer die Dateiauswahl
    * @param contentTypes
    *            Liste von Typen, von denen einer der Datei zugeornet sein muss
    * @return Pfad der ausgwaehlten Datei
    * @throws IOException
    */
	 private static Path locateFileWithType(String msg, String... contentTypes)
	         throws IOException {
	      JFileChooser fc = new JFileChooser();
	      File f = null;
	      Path p = null;
	      while (true) {
	         int returnVal = fc.showDialog(null, msg);
	         if (returnVal == JFileChooser.APPROVE_OPTION) {
	            f = fc.getSelectedFile();
	            System.out.println("f = " + f.getAbsolutePath());
	            p = f.toPath();
	            if (Files.isRegularFile(p) && Files.isReadable(p)) {
	               System.out.println("Datei hat den Typ " + Files.probeContentType(p));
	               for (String type : contentTypes) {
	                  if (Files.probeContentType(p).equals(type)) {
	                     return p;
	                  }
	               }
	            }
	            else
	            {
	               System.out.println("Datei ist keine reguläre Datei oder nicht lesbar.");
	            }
	            JOptionPane.showMessageDialog(null,
	                  "Die Datei hat nicht den richtigen Typ");
	         } else
	            break;
	      }
	      return null;
	   }
}

und wenn ich das ausführen will fragt der micht ob ich es als :Runs a Java applet oder Runs a local Java application. kenne den unterscheid nicht
 
Die oben genannte Meldung ist ziemlich sicher nur eine Warnung.
Und in deinem Code fehlt ein main :rolleyes:

Bitte Netiquette beachten.
 
tut mir leid ich komm nicht weiter. ja eine warnung sorry :( bin voll schwach.


also so was kommt bei mir rauss:

f = C:\test\Neues Textdokument.csv
Datei hat den Typ application/vnd.ms-excel
 
Zuletzt bearbeitet:
Na da hast du doch dein Problem: Dateityp ist als application/vnd.ms-excel erkannt worden, du liest aber nur Typen von "text/csv" bzw. "text/comma?separated?values" ein. Füg doch mal in der Main-Methode

Java:
public static void main(String[] args) throws IOException {
      Path path = locateFileWithType("CSV Datei", "text/csv",
            "text/comma-separated-values", "application/vnd.ms-excel"); // Hier habe ich "application/vnd.ms-excel" hinzugefügt.
      JOptionPane.showMessageDialog(null, "Sie haben gewaehlt:" + path);
   }

Beachte den Kommentar hinter den //.
 
ok, jetzt noch mal eine andere frag hab ich damit jetzt nicht gegen irgendwelchen vorschriften verstosen.

ich will ja CSR datein einlesen lassen und nicht vnd.ms-excel ?
da blick ich nicht durch.
 
Hmm, ich habe kein Excel und weiß nicht, was da beim Speichern als CSV genau für eine Datei raus kommt. Die Endung der Datei, die du einlesen willst, lautet wie? Wenn sie .xls oder dergleichen lautet, ist das wahrscheinlich schon mal nicht korrekt.
 
ok verstoss ich jetzt jeodch nicht gegen die vorschift. das ich csv datei einlese und nicht vnd.ms-excel.
ich will ja csv datein öffnen. oder vesteh ich da entwas falsch ?
 
Du hast aber eine Datei ausgewählt, die offenbar vom Typ "application/vnd.ms-excel" ist. Die Frage ist, welche Endung hat die von dir ausgewählte Datei, bzw. wie hast du die Datei in Excel den abgespeichert?

Gegen welche Vorschriften solltest du verstoßen?

sheel hat dich lediglich gebeten, dich an die Netiquette zu halten, wahrscheinlich weil dein Satzbau und die Rechtschreibung mit unter eine Katastrophe ist ;-)

EDIT: Achja, Mehrfach-Postings sind auch nicht erwünscht. Bitte bearbeite deinen Beitrag, wenn es der letzte im Thread ist.
 
(und wegen dauerndem Posten von mehreren Beiträgen hintereinander,
statt den Bearbeitenbutton zu benutzen usw...)

Aber vermutlich meint sie ihre Aufgabe, was da vom Lehrer akzeptiert wird und was nicht.
 
Zurück