0

ファイルが保存されているフォルダ名を印刷しようとしています。

例:ファイルpicture.jpgをパスC:\ Users \ Desktop \ Foldername\picture.jpgに保存しています

「フォルダ名」を印刷することはできますか?サブストリングを試しましたが、文字番号をハードコーディングすることに依存しているようです。EG:

System.out.println(path.substring(33, 38));

私のプログラムがリリースされ、ユーザーが別のファイルパスを持っていた場合、これは部分文字列をオフセットします。

ファイルを選択するために、私のプログラムには次のコードがあります

chooser = new JFileChooser();
        chooser.setCurrentDirectory(new java.io.File(computerUsername+"\\Desktop\\Foldername"));
        chooser.setDialogTitle(choosertitle);
        chooser.setAcceptAllFileFilterUsed(true);

したがって、以下のコードはnullpointexpectionエラーを出力します。Chooser.getPath()。getName();

4

2 に答える 2

3

必要なのはjava.io.File. パスを変換するメソッドがあります。

System.out.println(new File(path).getParentFile().getName());

それがない場合、「手動で」行う方法は、パス区切り文字 ( \) を探して、それらを分割することです。

于 2012-12-11T16:21:43.440 に答える
2
File file = new File("C:\\Users\\Desktop\\Foldername\\picture.jpg");
String parentFolderName = file.getParentFile().getName();
于 2012-12-11T16:23:24.747 に答える