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


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

Re: From java.nio.Path to Unix-style String on Windows

Path csiph.com!news.mixmin.net!news.albasani.net!.POSTED!not-for-mail
From Sebastian <nowhere@nirvana.org>
Newsgroups comp.lang.java.programmer
Subject Re: From java.nio.Path to Unix-style String on Windows
Date Fri, 1 Sep 2017 22:35:27 +0200
Organization albasani.net
Lines 41
Message-ID <oocgag$api$1@news.albasani.net> (permalink)
References <123f72bc-6240-488c-a007-0048d4468bee@googlegroups.com> <oo8u3e$3is$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net Q0faJUmPbu1BrPtICsOLfjtrn+zWe4eeSoe6+8Q7zOT3XoSlcKwaJdy2x2paHAg6lYTikQAiXvOiVosbE0ZTEA==
NNTP-Posting-Date Fri, 1 Sep 2017 20:35:28 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="pS88bzpFAdmV6LNqV3qtp5jSqug8D6FRfnLOijAQp1Nhzau3w+MFFlo3hC6a1sU7ONYOkC5/S4YQj4U/D7nocqb7Au/4zmfIfOVvlzkHZ4aTovc60VvfARCJxvln/MY+"; mail-complaints-to="abuse@albasani.net"
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
In-Reply-To <oo8u3e$3is$1@dont-email.me>
Cancel-Lock sha1:K+ahvmlw7FjDbNrgw/lrcAUsYAs=
Xref csiph.com comp.lang.java.programmer:37374

Show key headers only | View raw


Am 31.08.2017 um 14:10 schrieb Eric Sosman:
> On 8/31/2017 5:48 AM, Oliver Ruebenacker wrote:
>>
>>       Hello,
>>
>>    I have an app that generates command lines to be executed by Bash
>> (the popular Unix shell). The command lines contain file names that
>> are provided as java.nio.Path which are converted to String and then
>> inserted.
>>
>>    When run on Unix or like, a Path is converted to String Unix-style
>> (e.g. /a/b/c), and that is just as Bash expects it.
>>
>>    If run on Windows, however, a Path is converted to String
>> Windows-style (e.g. C:a\b\c), and that fails, because Bash expects
>> Unix-style file paths, even if it is run on Windows (e.g. Cygwin Bash,
>> or Bash on Windows).
>>
>>    How can I make sure a Path is always converted to String
>> Unix-style, even if run on Windows?
>
>     The "clean" (but probably impractical) way would be to install a
> Unix-style FileSystemProvider on the Windows machine, and use it to
> create and string-ize the Path.  There are only two FSP's in the
> standard Windows JRE (one for Windows files, one for ZIP archives),
> so I'm not sure how you would manage this ...
>
>     The "dirty" (but probably feasible) way would be to string-ize
> the Path, split the String on System.getProperty("file.separator"),
> and reassemble the pieces using "/" between them.  You would still
> need to strip away the leading "C:" (or "D:" or "//share"), which
> is more than a little bit hackish, but I can't see any way to avoid
> the hackery.
>
I believe that under Windows the Path implementation simply stores a 
string, which is returned by the toString() method. As there is no logic 
involved for deriving the string representation, at least at that point 
it would be too late to try and provide a different path separator. So 
Eric's suggestion would seem the best you can do.

-- Sebastian

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


Thread

From java.nio.Path to Unix-style String on Windows Oliver Ruebenacker <curoli@gmail.com> - 2017-08-31 02:48 -0700
  Re: From java.nio.Path to Unix-style String on Windows Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-08-31 08:10 -0400
    Re: From java.nio.Path to Unix-style String on Windows Sebastian <nowhere@nirvana.org> - 2017-09-01 22:35 +0200
    Re: From java.nio.Path to Unix-style String on Windows Sebastian <nowhere@nirvana.org> - 2017-09-02 00:12 +0200
      Re: From java.nio.Path to Unix-style String on Windows Mike Amling <mamling@chaff.us> - 2017-09-02 22:05 -0500
  Re: From java.nio.Path to Unix-style String on Windows Eric Douglas <e.d.programmer@gmail.com> - 2017-08-31 05:50 -0700

csiph-web