0

I'm having hard times trying to understand example codes from JSch library.

For example say, that I want to understand this code (example of scpFrom). I can't understand how that buffer, declared on line 56, works. How can that buffer contain for example read,write,execute flags, file size and first 7 chars of file name? I thought that when I read file with stream, that I'm reading contents of that file, not its filename etc...

Maybe I can't read Java documentation at all. I'm really confused by those examples and I don't want to use some library when I can't understand even examples :)

Can you suggest me what should I read or where are documented contents of that stream?
Another pearl for me is line 77, how can that code get filesize? 0 * 10L + first char in buff - char 0 ? I just don't get it...

Thank you all and sorry for my bad English.

Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992
Matka
  • 111
  • 2
  • 9

1 Answers1

0

That code implements the SCP protocol. So the stream represents the protocol stream, not mere file contents.

One of the main SCP protocol commands is C that starts a file transfer.

The C command has syntax:

C<mode> <size> <name>

It's a human-readable string. The code you refer to, parses the string.


See also Explanation for SCP protocol implementation in JSch library.

Community
  • 1
  • 1
Martin Prikryl
  • 188,800
  • 56
  • 490
  • 992