title: Simple Java Desktop App: Config files and where to put them
body: <p>This feels like an absolute newbie question, but I'm on a colossal yak-shave over what should be an elementary concern.</p>
  
  <p>I'm writing a simple desktop app in Java. (Scala actually, but let that pass.) It targets Windows machines. I want to package it and have it runnable without creating an installer, or messing about with the Windows registry. And I want a config file that users can find and edit in order to customize settings. (In the manner of SublimeText's user preferences, for example.)</p>
  
  <p>I envision the following structure:</p>
  
  <pre><code>my-application/
  |- bin/
     |- myApp.class (or myApp.jar, if you prefer)
  |- files/
     |- config/
        |- config.json
     |- output/
        |- output.xlsx
  |-runMyApp.bat
  </code></pre>
  
  <p>Inside Eclipse, relative paths tend to resolve to the <code>myApplication/</code> directory, but if I run the app from the command-line, they resolve to whatever the -cp argument was. (Generally, the <code>bin/</code> directory.)</p>
  
  <p>Am I being naïve? Have I got the wrong paradigm entirely?</p>
  
  <p>It seems to me it would be a fundamental thing to be able to consistently locate files (resources) in the file system surrounding your executables.</p>
  
  <p>Please help!</p>