Mit JFileChooser um eine Datei Lesen zu Namen
Ich bin mit dem Datei-Eingabe-stream-input-Datei
String filename="D:\\abc.txt";
File file = new File(filename);
Es funktioniert gut bis jetzt. Jetzt will ich zur Eingabe des Dateinamens mit JFileChooser
und dann das gleiche tun. Aber JFileChooser
gibt eine Zeichenfolge zurück, wie dies D:\abc.txt
. Mein code ist wie folgt
public static String fileChose()
{
JFileChooser fc= new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret== JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
String filename= file.getAbsolutePath();
return filename;
}
else
return null;
}
Das problem ist, dass die Dateinamen getrennt durch \\
statt \
. Kann ich nicht direkt eingeben, die mit dem Namen von JFileChooser in einer solchen Art und Weise, um direkt zu benutzen es als argument in
File file = new File(Classname.fileChose());
- Das von Ihnen angegebene string "D:\\abc.txt" die gleiche Zeichenfolge wie die "D:\abc.txt" string, der von der Methode zurückgegeben, weil
` is an escape character so
\` im code ist tatsächlich `. Mit dieser sagte, ich habe Probleme mit dem erkennenden, was deine Frage eigentlich ist. - Ich verstehe, dass es ein escape-Zeichen. Aber das argument in der Datei erfordert die Verwendung von \ \ - format anstatt \. Deshalb möchte ich wissen, ob der Pfad in diesem format können direkt acheved oder nicht ?
- Ich Stimme mit Vulcan, aber noch wichtiger ist, warum nicht ändern Sie die Methode zum zurückgeben der
File
selbst, statt den Dateinamen ? wieFile file = fc.getSelectedFile(); return file;
sind Sie sowieso, so dass es eine Datei - Ok.. ich denke, dass Sie eine bessere Lösung. Danke..
- Sie sind herzlich willkommen 🙂
- Das argument in der Datei nicht erforderlich "\\ format" an alle. In Windows \ die Datei mit Trennzeichen, so brauchen Sie nur ein, nicht zwei. Mit \\ ist notwendig, um den string-Deklaration Seite, weil die "\\" ist nicht wörtlich zwei umgekehrte Schrägstriche, es wird kompiliert, um einen einzelnen backslash.
- Sie sollten immer mit "/" als Datei-separator. Es funktioniert auf Windows-und UNIX-Varianten. Mit "\\" das Programm funktioniert nur in Windows (Sie sind mit Java auf einmal schreiben überall laufen, oder?). Aber die Lösung mit einem
File
statt einerString
ist die beste.
Du musst angemeldet sein, um einen Kommentar abzugeben.
String s = fileChooser.getSelectedFile()
ausprobieren
demo:
ref : http://www.herongyang.com/Swing/JEditorPane-File-Chooser-Dialog-Box.html