hi ich bin es wieder
, aufgabe:
"Textdateien einlesen und diese anzeigen"
also text datei so aus der konsolo heraus ein lesen zu lassen in dem man den Phat an gibt bekomm ich hin, jedoch will ich das dem Benutzer ein Fenster erscheint in dem er genau auf die txt tippt und diese wird eingelesen und angezeigt in einem entsprechenen fenster.
ich versuche grade diesen teil hier zu verstehen damit ich sollch ein fenster erstellen kann.:
so sieht das projekt grade aus:

"Textdateien einlesen und diese anzeigen"
also text datei so aus der konsolo heraus ein lesen zu lassen in dem man den Phat an gibt bekomm ich hin, jedoch will ich das dem Benutzer ein Fenster erscheint in dem er genau auf die txt tippt und diese wird eingelesen und angezeigt in einem entsprechenen fenster.
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 {
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;
}
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);
}
}
ich versuche grade diesen teil hier zu verstehen damit ich sollch ein fenster erstellen kann.:
Code:
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;
}
so sieht das projekt grade aus:
Code:
public class Main {
// Textdateien einlesen und diese anzeigen
public static void main(String[] args) throws IOException {
Path path = Paths.get("test.txt");// anstatt test.text will ich das der
// benutzer seine txt datei suchen
// kann
String content = new String(Files.readAllBytes(path),
Charset.defaultCharset());
System.out.println(content);
}
}