Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #27912

Re: RandomAccessFile and java.nio.*

From Wayne <nospam@all.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: RandomAccessFile and java.nio.*
References <slrnljh5m4.rhr.avl@login.logic.tuwien.ac.at>
Message-ID <zl4_u.16572$D64.12057@fx29.iad> (permalink)
Organization Newshosting.com - Highest quality at a great price! www.newshosting.com
Date 2014-03-30 22:24 -0400

Show all headers | View raw


On 3/30/2014 6:12 PM, Andreas Leitgeb wrote:
> As far as I understood the tutorials and documentation, then the java.io.*
> classes have been redesigned (already back in the Java 1.4 days) to work
> on the nio-API as its lower level.
> 
> From this, it's not surprising, that RandomAccessFile has a method to
> get access to the nio FileChannel and is mostly some convenience class
> that (among other things) allows reading single lines, and then have the
> current fileposition right after the newline of that read line.
> 
> Unfortunately, however, the RandomAccessFile still has only constructors
> taking the open-mode as a String (with only "r","rw","rws","rwd" being the
> legal values).
> 
> If instead I open a FileChannel using the nio API, then I can specify POSIX
> flags, like TRUNCATE or APPEND.
> 
> What I'm missing is a way to wrap a RandomAccessFile over an existing
> FileChannel, such that I can use the more flexible open modes, but
> still get a convenient readLine().
> 
> Btw., I'd really like a readLine() for reading lines also from Channels
> that are not FileChannel, but perhaps Pipe.SourceChannel or sockets.
> 
> And just one more thing: I've seen that I can wrap streams like System.out
> in a Channel, using Channels.newChannel(System.out), but I don't know how
> I could undo this wrapping, eventually getting rid of the wrapping Channel
> without having System.out closed as a side effect. I'm a bit scared that
> merely "forgetting" the Channel might eventually cause it to be close()d
> from its finalizer.
> 

java.util.scanner has been updated with NIO2.  It has the nextLine method
you want.

-- 
Wayne

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-30 22:12 +0000
  Re: RandomAccessFile and java.nio.* Wayne <nospam@all.invalid> - 2014-03-30 22:24 -0400
    Re: RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-31 17:54 +0000
  Re: RandomAccessFile and java.nio.* Jeff Higgins <jeff@invalid.invalid> - 2014-03-30 22:35 -0400
    Re: RandomAccessFile and java.nio.* markspace <markspace@nospam.nospam> - 2014-03-30 20:04 -0700
      Re: RandomAccessFile and java.nio.* Jeff Higgins <jeff@invalid.invalid> - 2014-03-31 02:09 -0400
        Re: RandomAccessFile and java.nio.* markspace <markspace@nospam.nospam> - 2014-03-31 00:02 -0700
          Re: RandomAccessFile and java.nio.* Jeff Higgins <jeff@invalid.invalid> - 2014-03-31 08:03 -0400
      Re: RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-03-31 18:15 +0000
        Re: RandomAccessFile and java.nio.* Jeff Higgins <jeff@invalid.invalid> - 2014-03-31 14:38 -0400
          Re: RandomAccessFile and java.nio.* Jeff Higgins <jeff@invalid.invalid> - 2014-03-31 17:11 -0400
          Re: RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-04-01 13:43 +0000
        Re: RandomAccessFile and java.nio.* markspace <markspace@nospam.nospam> - 2014-03-31 15:27 -0700
          Re: RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-04-01 13:29 +0000
        Re: RandomAccessFile and java.nio.* markspace <markspace@nospam.nospam> - 2014-03-31 17:36 -0700
          Re: RandomAccessFile and java.nio.* Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-04-01 13:18 +0000

csiph-web