자바 FTPClient 의 상대 경로 와 절대 경로
3817 단어 FTPFTPClient텍스트 전송 프로 토 콜자바
FTPClient 의 루트 디 렉 터 리 는"/"입 니 다.
루트 디 렉 터 리 로 전환
ftpClient.changeWorkingDirectory("/"); //
String dir = ftpClient.printWorkingDirectory(); //
System.out.println(dir); // , "/"
절대 경로
절대 경 로 는'/AA','/aa/BB','/aa/BB/CC/','/aa/BB/CC/test.txt'등 으로 시작한다.
절대 경 로 를 사용 하면 현재 작업 경로 의 영향 을 받 지 않 습 니 다.
예 를 들 어 다음 인 스 턴 스 코드 는 changeWorkingDirectory("/A1/B1")방법 으로 현재 작업 경 로 를/A1/B1 폴 더 로 전환 합 니 다.
그러나 ftpClient.listNames("/A1/B2")의 절대 경 로 를 사용 하여/A1/B2 폴 더 의 파일 을 가 져 옵 니 다.현재 작업 디 렉 터 리 의 영향 을 받 지 않 습 니 다.
절대 경 로 는 반드시/로 시작 하 는'A1/B2'라 고 쓰 지 마 세 요.그러면 상대 경로 가 되 고 현재 경로 의 영향 을 받 습 니 다.상대 경로 인'A1/B2'가 절대 경로 로 바 뀌 는 것 은 바로 현재 작업 디 렉 터 리+상대 경로 입 니 다.즉,'/A1/B1/A1/B2 1/B2'입 니 다.
상대 경로 에 대해 서 는 아래 부분 에서 더 자세히 설명 하 겠 습 니 다.
public static void main(String[] args) {
try {
FTPClient ftpClient = new FTPClient();
ftpClient.connect(ftpIp, ftpPort);
ftpClient.login(ftpName, ftpPws);
ftpClient.enterLocalPassiveMode();
ftpClient.changeWorkingDirectory("/A1/B1");
System.out.println(" :" + ftpClient.printWorkingDirectory());
String[] names = ftpClient.listNames("/A1/B2");
System.out.println("/A1/B2 :" + Arrays.toString(names));
} catch (IOException e) {
e.printStackTrace();
}
}
출력 결과
:/A1/B1
/A1/B2 :[/A1/B2/b21.txt, /A1/B2/b22.txt]
상대 경로
상대 경로 시작 에 없 음/
상대 경로 의 절대 경 로 는 현재 경로+상대 경로 입 니 다.
아래 의 실례 를 들 어 현재 작업 디 렉 터 리 를 A1 으로 전환 한 다음 에 changeWorkingDirectory("B1")를 통 해 B1 로 전환 합 니 다.그래서 들 어 오 는 것 은 상대 적 인 경로 이기 때문에 실제 전환 후의 경 로 는 현재 작업 경로+B1,즉/A1/B1 입 니 다.
마지막 으로 changeWorkingDirectory("/A1")를 통 해 A1 디 렉 터 리 로 전환 합 니 다.이때 절대 경로 로 전송 되 기 때문에 현재 작업 디 렉 터 리 의 영향 을 받 지 않 기 때문에 전환 후의 작업 경 로 는"/A1"이지"/A1/B1"이 아 닙 니 다.
public static void main(String[] args) {
try {
FTPClient ftpClient = new FTPClient();
ftpClient.connect(ftpIp, ftpPort);
ftpClient.login(ftpName, ftpPws);
ftpClient.enterLocalPassiveMode();
ftpClient.changeWorkingDirectory("/A1");
System.out.println(" :" + ftpClient.printWorkingDirectory());
ftpClient.changeWorkingDirectory("B1");
System.out.println(" :" + ftpClient.printWorkingDirectory());
ftpClient.changeWorkingDirectory("/A1");
System.out.println(" :" + ftpClient.printWorkingDirectory());
} catch (IOException e) {
e.printStackTrace();
}
}
출력 결과
:/A1
:/A1/B1
:/A1
적용 방법
기본적으로 FTPClient 에서 파일 이나 폴 더 작업 에 관 한 모든 방법 은 절대적 인 경로 와 상대 적 인 경 로 를 적용 합 니 다.여러 개의 매개 변수 가 있 는 방법 은 두 가지 방식 으로 동시에 사용 할 수 있 습 니 다.예 를 들 어 rename("B1/test.txt","/A1/test.txt")은 비교적 흔히 볼 수 있 는 방법 을 보 여 줍 니 다.
총결산
절대 경 로 는"/"로 시작 합 니 다.
상대 경 로 는"/"로 시작 하지 않 습 니 다.
상대 경로 에서 절대 경로 로 전환=현재 작업 디 렉 터 리+"/"+절대 경로
절대 경 로 를 사용 하려 면 상대 경 로 를 사용 하지 않 는 것 을 권장 합 니 다.상대 경 로 를 사용 하면 현재 작업 중인 파일 경 로 를 한눈 에 알 수 있 기 때 문 입 니 다.상대 경 로 를 사용 하면 오류 가 발생 하기 쉽 습 니 다.FTP 작업 에서 changeWorkingDirectory 를 사용 하여 작업 디 렉 터 리 를 자주 전환 하기 때 문 입 니 다.자 르 면 마지막 까지 현재 작업 디 렉 터 리 가 무엇 인지 모 릅 니 다.필 자 는 일찍이 이곳 에서 구 덩이 를 밟 은 적 이 있 는데,서 류 를 잘못 삭제 하여 하마터면 하늘 에 제 사 를 지 낼 뻔 했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
서버 세팅 1편 - FTP 설치서버와 파일을 공유하기 위해 FTP 설치가 필요합니다. FTP(File Transfer Protocol): 파일을 전송하기 위한 규약으로 파일을 전송하는데 있어서 용량 제한이 없으며 구축해두면 어디서나 접속하여 파일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.