2014-01-20 2 views
4

Java 프로젝트에서 SFTP에 jSch를 사용하고 있습니다. 나는 모든 파일 속성을 디렉토리에 넣고 싶다. 그러나 파일이나 디렉토리의 파일 속성을 검색하는 두 가지 방법이 있습니다.차이점 jSch의 ChannelSftp의 lstat() 및 stat() 메소드

1. public SftpATTRS stat(String path) 
2. public SftpATTRS lstat(String path) 

이 두 가지 방법의 차이점은 무엇입니까? 거기에 사용 말해 줘 ???

답변

5

lstat 메소드는 기호 링크 (즉, 링크가 아닌 대상의 속성을 리턴)를 따르지 않습니다.

stat 메서드는 기호 링크 (즉, 대상이 아닌 링크의 특성을 반환)를 따른다.

예를 들어, 실제로/home/alamba에 대한 단축키 인 'myhome'이라는 심볼릭 링크가 있습니다.

lstat를 사용하면 '/ u02/home/alamba'폴더의 링크 대상 속성을 가져올 수 있습니다. stat을 사용하면 대신 'myhome'링크의 속성을 가져옵니다.

ChannelSftp documentation.

Symbolic Link Explanation.

+1

나는 'L'이 lstat는에 표시하는 의미가 있었는지 잘 모르겠지만, 나는 그것이 당신에게 리터럴 폴더의 통계를 제공합니다 의미 '리터럴 합계'로 상상, 비유적인 링크가 아닙니다. – Damienknight

+1

이것은 ChannelSftp 문서와 모순됩니다. 여기서 stat - 파일 또는 디렉토리의 파일 속성을 검색합니다. 이 방법은 기호 링크 (즉, 링크가 아닌 대상의 속성을 반환)를 따릅니다. 및 lstat - 파일 또는 디렉토리의 파일 속성을 검색합니다. 이 방법은 심볼릭 링크를 따르지 않습니다 (즉, 타겟이 아닌 링크의 속성을 반환합니다). 하지만 당신이 말한 것은 정반대입니다. – user3742125

+0

당신이 옳습니다. 나는 그것을 괄호 안에 넣었고 나의 의견에서 정확했지만, '하지'와 '뒤집어지지 않았다'를 얻었다. 결정된. – Damienknight

관련 문제