私のクライアント側では、ディレクトリに cd して pwd すると、正しい pwd が表示されます。(ftp> はクライアント側を意味します)
ftp> cd adam
ftp> pwd
remote working directory: amlodoz1/p1/adam
しかし、それから「cd ..」して pwd を押すと、次のようになります。
ftp> cd ..
ftp> pwd
remote working directory: amlodoz1/p1/adam/..
明らかに、 pwd は返されるはずamlodoz1/p1/
ですが、cd した文字をパス名に追加したいだけです。
「cd」と「pwd」の私の実装はこちらです。
public void cd(String dirName) throws IOException{
System.out.println("Changing directory to '" + dirName + "'");
File dir = new File(dirName);
System.setProperty("user.dir", dir.getAbsolutePath());
}
public void pwd() throws IOException{
String pwd = System.getProperty("user.dir");
System.out.println("Remote working directory: " + pwd);
}
「cd ..」のif句を書くことを考えていましたが、setProperty関数で「user.dir」を何に設定するかわかりません。