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


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

Re: Death To Sub-Sub-Sub-Directories!

From Michael Wojcik <mwojcik@newsguy.com>
Newsgroups comp.lang.java.programmer
Subject Re: Death To Sub-Sub-Sub-Directories!
Date 2011-05-10 11:48 -0400
Organization Micro Focus
Message-ID <iqbnga21epj@news1.newsguy.com> (permalink)
References (2 earlier) <ipvdfs$6on$1@lust.ihug.co.nz> <ipvfo5$o57$2@dont-email.me> <iq0glp$abc$1@speranza.aioe.org> <iq996g11ge7@news2.newsguy.com> <iq9on2$vpq$1@speranza.aioe.org>

Show all headers | View raw


Zapotec wrote:
> On 09/05/2011 1:15 PM, Michael Wojcik wrote:
>> Zapotec wrote:
>>>
>>> 1. Typing long directory names or click-click-clicking to deeply-nested
>>>     folders is a pain, and will be required if you aren't using an IDE
>>>     like NetBeans or Eclipse
>>
>> I often use vim to edit my Java sources, and I don't have to type long
>> directory names or click-click-click, thanks to the magic of filename
>> completion.
> 
> Completion again. People talk about it like it's a magic bullet, but
> it's not, especially when there are a lot of possible completions, which
> happens when there is a common prefix (like
> src/java/com/mylongcompanyname/mylongprojectname/dal) to a lot of the
> filenames.

Works fine for me. Is it possible that your experience is different
from mine? Nah. Surely you must be correct that I experience pain due
to long directory names.

>> Not that typing long directory names would be any great burden, since
>> entering a filename is a tiny portion of the work I do when producing
>> new code or maintaining old.
> 
> Every little bit adds up, and time spent doing peripheral tasks is time
> not spent coding, testing, or debugging.

You have not demonstrated that it adds up to anything significant.
I'll wager it doesn't. Certainly it's far less than the time I've
spent over the last two decades writing Usenet posts.

>>> 2. On Windows, at least, it's not implausible to reach the path name
>>>     length limit of the filesystem and run into even more headaches.
>>
>> Really? The NTFS path name length limit is 32KB, for applications that
>> use the proper APIs, which seems like it ought to be enough.
> 
> And what "proper APIs" might those be, that for instance Microsoft's own
> cmd.exe and Explorer evidently don't use?

RTFM. They're the Unicode versions of the File APIs.

http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

Gosh, that was hard to find. First hit for "path length" on MSDN.

cmd.exe doesn't support them properly (it does for some builtins, but
it has its own path length limitations that are separate from the OS
ones), because Microsoft frankly doesn't give a damn about cmd.exe.
(If you're going to use one of their shells, they'd like it to be
Powershell.) But that's rather beside the point, which is that the
short path length limitation was corrected in Windows long ago - I
think with NT 4.0.

> I might add that Java doesn't use these phantom APIs either, as
> evidenced if you try to use java.io.File/FileInputStream to read a file
> that exceeds a much shorter length.

Did you specify it correctly, using a UNC name? I thought not.

> (Make a directory with a one-letter
> name in a drive root and a file with a name about 150 characters long in
> it. Then rename the directory to a similarly long name and try to access
> it with java.io ... boom! FileNotFoundException.)

-----
C:\tmp>dir
c:\tmp\longdir1234567890123456789012345678901234567890123456789012345
67890123456789012345678901234567890123456789012345678901234567890123456789012345
678901234567890\averylongfilename12345678901234567890123456789012345678901234567
89012345678901234567890123456789012345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890
The filename or extension is too long.

C:\tmp>java -cp . test
\\?\c:\tmp\longdir123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890\averylongfilename1234567890123456789012345678901
23456789012345678901234567890123456789012345678901234567890123456789012345678901
23456789012345678901234567890123456789012345678901234567890
foo
-----

Works just fine for me.

Here's the source:

-----
import java.io.*;

class test {
   public static void main(String[] args) throws java.io.IOException {
      File file = new File(args[0]);
      FileInputStream fs = new FileInputStream(file);
      int ch;
      while ((ch = fs.read()) != -1) {
         System.out.print((char)ch);
      }
      fs.close();
   }
}
-----

>> Even apps
>> that use the old API get a path length of 260 ASCII characters, which
>> requires some effort to exceed.
> 
> Not with Java's long/and/deeply/nested/package/hierarchies...

I've never had that problem.

>> If the problem is your Windows source directories are buried under
>> some unreasonably long path (which probably also contains spacey names
>> and other infelicities), just create a junction to it in some more
>> convenient place.
> 
> Junctions are those funny-behaving versions of My Documents and such
> that are in Vista and Windows 7, right?

Junctions are a facility of NTFS, built on top of reparse points. If
you're going to complain about Windows, maybe you should learn how it
works first.

> The last time I checked, the
> user can't create those,

Check again.

> at least not with the default set of tools
> available by e.g. right-click-and-drag in Explorer.

Whereas in Unix and Linux installations, all possible actions are
available in the various GUI file managers?

> If Microsoft had been intelligent, competent, and capable of even decent
> copycatting, let alone true creativity, outside of the
> inventing-new-anticompetitive-dirty-tricks department,

And now the ad hominem. Let's all watch as Zapotec loses the ability
to formulate an actual argument.

> Vista would have
> included real proper symlinks,

It does:

-----
C:\tmp>mklink /?
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new
link
                refers to.
-----

NTFS also supports hard links and junctions.

> which you can click through in Explorer

As indeed you can.

> without getting error messages, and which would have been available on
> the right click menu: right click, drag, "Make symlink here". :P

I agree that being able to make links and junctions from Explorer
would be useful for lazy whiners who can't be bothered to learn how
their OS works.

-- 
Michael Wojcik
Micro Focus
Rhetoric & Writing, Michigan State University

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


Thread

Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 02:31 +0000
  Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-04 22:36 -0400
  Re: Death To Sub-Sub-Sub-Directories! markspace <-@.> - 2011-05-04 19:35 -0700
    Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 14:47 +1200
      Re: Death To Sub-Sub-Sub-Directories! Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-05 16:01 +1000
        Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 18:43 +1200
          Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-05 07:08 -0400
          Re: Death To Sub-Sub-Sub-Directories! Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-06 11:38 +1000
            Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 15:53 +1200
              Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 00:09 -0400
              Re: Death To Sub-Sub-Sub-Directories! Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-06 18:22 +1000
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 22:07 +1200
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 06:58 -0400
                Re: Death To Sub-Sub-Sub-Directories! "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2011-05-06 07:12 -0400
                Re: Death To Sub-Sub-Sub-Directories! jebblue <n@n.nnn> - 2011-05-06 21:58 -0500
                Re: Death To Sub-Sub-Sub-Directories! "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2011-05-07 03:18 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-07 20:28 +1200
                Re: Death To Sub-Sub-Sub-Directories! Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-07 19:53 +0000
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-08 14:00 +1200
                Re: Death To Sub-Sub-Sub-Directories! Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-05-08 07:50 +0000
                Re: Death To Sub-Sub-Sub-Directories! Paul Cager <paul.cager@googlemail.com> - 2011-05-06 06:34 -0700
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 12:06 -0400
                Re: Death To Sub-Sub-Sub-Directories! 3x+rav4gan <3x7r4vag4n@fr0gs0up.x3l0n.c0m> - 2011-05-06 17:07 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 18:24 -0400
                Re: Death To Sub-Sub-Sub-Directories! 3x+rav4gan <3x7r4vag4n@fr0gs0up.x3l0n.c0m> - 2011-05-06 18:25 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 18:34 -0400
                Re: Death To Sub-Sub-Sub-Directories! 3x7r4vagan <3x7r4vagan@fr0gsoup.x3l0n.c0m> - 2011-05-06 18:40 -0400
                Re: Death To Sub-Sub-Sub-Directories! "Spock" <spock@starfleet.ufp.null> - 2011-05-08 01:42 +0000
                Re: Death To Sub-Sub-Sub-Directories! 3x7r4vagan <3x7r4vagan@fr0gsoup.x3l0n.c0m> - 2011-05-07 22:29 -0400
                Re: Death To Sub-Sub-Sub-Directories! "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2011-05-08 05:20 +0000
                Re: Death To Sub-Sub-Sub-Directories! "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2011-05-08 01:40 -0400
                Re: Death To Sub-Sub-Sub-Directories! "3x7r4vagan" <3x7r4vagan@fr0gsoup.x3l0n.c0m> - 2011-05-08 06:39 +0000
                Re: Death To Sub-Sub-Sub-Directories! 3x7r4vagan <3x7r4vagan@fr0gsoup.x3l0n.c0m> - 2011-05-08 05:45 -0400
              Re: Death To Sub-Sub-Sub-Directories! jebblue <n@n.nnn> - 2011-05-06 21:57 -0500
          Re: Death To Sub-Sub-Sub-Directories! Esmond Pitt <esmond.pitt@bigpond.com> - 2011-05-06 18:31 +1000
  Re: Death To Sub-Sub-Sub-Directories! Roedy Green <see_website@mindprod.com.invalid> - 2011-05-04 22:02 -0700
    Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-05 17:12 +1200
      Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-05 07:11 -0400
      Re: Death To Sub-Sub-Sub-Directories! Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-05-05 10:56 -0300
        Re: Death To Sub-Sub-Sub-Directories! Steve Sobol <sjsobol@JustThe.net> - 2011-05-05 09:08 -0700
        Re: Death To Sub-Sub-Sub-Directories! bugbear <bugbear@trim_papermule.co.uk_trim> - 2011-05-05 17:13 +0100
  Re: Death To Sub-Sub-Sub-Directories! dagon@dagon.net (Dagon) - 2011-05-05 09:16 -0700
    Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 11:56 +1200
      Re: Death To Sub-Sub-Sub-Directories! Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 02:35 +0200
        Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 18:39 +1200
          Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 07:03 -0400
            Re: Death To Sub-Sub-Sub-Directories! "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2011-05-06 07:13 -0400
        Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-06 05:57 -0400
          Re: Death To Sub-Sub-Sub-Directories! Paul Cager <paul.cager@googlemail.com> - 2011-05-06 06:47 -0700
            Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 12:17 -0400
            Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-07 15:55 +1200
          Re: Death To Sub-Sub-Sub-Directories! Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 18:19 +0200
            Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-06 17:10 -0400
              Re: Death To Sub-Sub-Sub-Directories! Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-06 23:41 +0200
                Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-06 18:26 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-07 15:56 +1200
                Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-07 03:20 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-07 20:28 +1200
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-07 07:50 -0400
          Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-09 13:15 -0400
            Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-09 18:09 -0400
              Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-10 13:43 +1200
                Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:54 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-11 14:02 +1200
                Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-18 07:58 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-20 12:35 +1200
              Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:48 -0400
                Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-10 23:47 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-11 08:51 -0400
                Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-11 20:44 -0400
                Re: Death To Sub-Sub-Sub-Directories! RichB <rich_barnsley@nowhere.com> - 2011-05-12 16:13 -0400
                Re: Death To Sub-Sub-Sub-Directories! Snorkmeier <snorkmeier._10b@gmail.invalid> - 2011-05-12 08:21 +0000
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-12 08:21 -0400
                Re: Death To Sub-Sub-Sub-Directories! Snorkmeier <snorkmeier._10c@gmail.invalid> - 2011-05-12 20:04 +0000
                Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-18 08:00 -0400
                Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-18 11:31 -0400
            Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-10 13:46 +1200
              Re: Death To Sub-Sub-Sub-Directories! Zapotec <z_gib@wav.com> - 2011-05-10 03:44 -0400
              Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-10 11:55 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-11 14:02 +1200
                Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-11 08:56 -0400
                Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-18 08:02 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-20 12:33 +1200
      Re: Death To Sub-Sub-Sub-Directories! rossum <rossum48@coldmail.com> - 2011-05-06 09:55 +0100
        Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-06 22:06 +1200
          Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-06 07:04 -0400
  Re: Death To Sub-Sub-Sub-Directories! Pitch <mail@fake.info> - 2011-05-11 10:53 +0200
    Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-11 08:57 -0400
      Re: Death To Sub-Sub-Sub-Directories! Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-05-11 19:16 +0200
      Re: Death To Sub-Sub-Sub-Directories! Pitch <mail@fake.info> - 2011-05-12 11:02 +0200
        Re: Death To Sub-Sub-Sub-Directories! Lew <noone@lewscanon.com> - 2011-05-12 08:28 -0400
          Re: Death To Sub-Sub-Sub-Directories! Pitch <mail@fake.info> - 2011-05-13 11:43 +0200
            Re: Death To Sub-Sub-Sub-Directories! Michael Wojcik <mwojcik@newsguy.com> - 2011-05-18 08:09 -0400
              Re: Death To Sub-Sub-Sub-Directories! John Silverstein <js19375@ymail.cox> - 2011-05-18 11:33 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-20 12:36 +1200
                Re: Death To Sub-Sub-Sub-Directories! John Silverstein <js19375@ymail.cox> - 2011-05-19 23:28 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-20 15:31 +1200
                Re: Death To Sub-Sub-Sub-Directories! John Silverstein <js19375@ymail.cox> - 2011-05-20 00:19 -0400
                Re: Death To Sub-Sub-Sub-Directories! Lawrence D'Oliveiro <ldo@geek-central.gen.new_zealand> - 2011-05-20 18:50 +1200

csiph-web