jnr.posix.POSIX.lseek()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(3.9k)|赞(0)|评价(0)|浏览(136)

本文整理了Java中jnr.posix.POSIX.lseek()方法的一些代码示例,展示了POSIX.lseek()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。POSIX.lseek()方法的具体详情如下:
包路径:jnr.posix.POSIX
类名称:POSIX
方法名:lseek

POSIX.lseek介绍

暂无

代码示例

代码示例来源:origin: com.github.jnr/jnr-posix

  1. public int lseek(int fd, long offset, int whence) {
  2. return posix().lseek(fd, offset, whence);
  3. }

代码示例来源:origin: io.prestosql.cassandra/cassandra-driver

  1. public int lseek(int fd, long offset, int whence) {
  2. return posix().lseek(fd, offset, whence);
  3. }

代码示例来源:origin: com.github.jnr/jnr-posix

  1. public int lseek(int fd, long offset, int whence) {
  2. try { return posix.lseek(fd, offset, whence); } catch (UnsatisfiedLinkError ule) { return unimplementedInt(); }
  3. }

代码示例来源:origin: io.prestosql.cassandra/cassandra-driver

  1. public int lseek(int fd, long offset, int whence) {
  2. try { return posix.lseek(fd, offset, whence); } catch (UnsatisfiedLinkError ule) { return unimplementedInt(); }
  3. }

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-driver

  1. public int lseek(int fd, long offset, int whence) {
  2. try { return posix.lseek(fd, offset, whence); } catch (UnsatisfiedLinkError ule) { return unimplementedInt(); }
  3. }

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-driver

  1. public int lseek(int fd, long offset, int whence) {
  2. return posix().lseek(fd, offset, whence);
  3. }

代码示例来源:origin: org.jruby/jruby-complete

  1. private static long transfer(ThreadContext context, ReadableByteChannel from, FileChannel to, long length, long position) throws IOException {
  2. // handle large files on 32-bit JVMs
  3. long chunkSize = 128 * 1024 * 1024;
  4. long transferred = 0;
  5. long bytes;
  6. long startPosition = to.position();
  7. if (position != -1) {
  8. if (from instanceof NativeSelectableChannel) {
  9. int ret = context.runtime.getPosix().lseek(((NativeSelectableChannel)from).getFD(), position, PosixShim.SEEK_SET);
  10. if (ret == -1) {
  11. throw context.runtime.newErrnoFromErrno(Errno.valueOf(context.runtime.getPosix().errno()), from.toString());
  12. }
  13. }
  14. }
  15. if (length > 0) {
  16. while ((bytes = to.transferFrom(from, startPosition+transferred, Math.min(chunkSize, length))) > 0) {
  17. transferred += bytes;
  18. length -= bytes;
  19. }
  20. } else {
  21. while ((bytes = to.transferFrom(from, startPosition+transferred, chunkSize)) > 0) {
  22. transferred += bytes;
  23. }
  24. }
  25. // transforFrom does not change position of target
  26. to.position(startPosition + transferred);
  27. return transferred;
  28. }

代码示例来源:origin: org.jruby/jruby-core

  1. private static long transfer(ThreadContext context, ReadableByteChannel from, FileChannel to, long length, long position) throws IOException {
  2. // handle large files on 32-bit JVMs
  3. long chunkSize = 128 * 1024 * 1024;
  4. long transferred = 0;
  5. long bytes;
  6. long startPosition = to.position();
  7. if (position != -1) {
  8. if (from instanceof NativeSelectableChannel) {
  9. int ret = context.runtime.getPosix().lseek(((NativeSelectableChannel)from).getFD(), position, PosixShim.SEEK_SET);
  10. if (ret == -1) {
  11. throw context.runtime.newErrnoFromErrno(Errno.valueOf(context.runtime.getPosix().errno()), from.toString());
  12. }
  13. }
  14. }
  15. if (length > 0) {
  16. while ((bytes = to.transferFrom(from, startPosition+transferred, Math.min(chunkSize, length))) > 0) {
  17. transferred += bytes;
  18. length -= bytes;
  19. }
  20. } else {
  21. while ((bytes = to.transferFrom(from, startPosition+transferred, chunkSize)) > 0) {
  22. transferred += bytes;
  23. }
  24. }
  25. // transforFrom does not change position of target
  26. to.position(startPosition + transferred);
  27. return transferred;
  28. }

代码示例来源:origin: org.jruby/jruby-complete

  1. int ret = context.runtime.getPosix().lseek(((NativeSelectableChannel)from).getFD(), position, PosixShim.SEEK_SET);
  2. if (ret == -1) {
  3. throw context.runtime.newErrnoFromErrno(Errno.valueOf(context.runtime.getPosix().errno()), from.toString());

代码示例来源:origin: org.jruby/jruby-core

  1. int ret = context.runtime.getPosix().lseek(((NativeSelectableChannel)from).getFD(), position, PosixShim.SEEK_SET);
  2. if (ret == -1) {
  3. throw context.runtime.newErrnoFromErrno(Errno.valueOf(context.runtime.getPosix().errno()), from.toString());

代码示例来源:origin: org.python/jython

  1. public static long lseek(PyObject fd, long pos, int how) {
  2. Object javaobj = fd.__tojava__(RawIOBase.class);
  3. if (javaobj != Py.NoConversion) {
  4. try {
  5. return ((RawIOBase) javaobj).seek(pos, how);
  6. } catch (PyException pye) {
  7. throw badFD();
  8. }
  9. } else {
  10. return posix.lseek(getFD(fd).getIntFD(), pos, how);
  11. }
  12. }

相关文章

POSIX类方法