I'm simply learning how to write data to a file with the FileWriter class. This seems simple enough, but how do I pass a pathname as an argument? The constructor is:
Basically, if I pass just a file name, it will create the file in the \\jdev\bin directory. What if I want an absolute path, such as "c:\903\jdev\mywork..."? When I pass this as an argument, the compiler reads the backslash as an escape character, which is NOT what I want. Help? David nothing fancy to say yet
-nothing important to say, but learnin' plenty-
While we're on the topics... Note that putting two \ characters together is referred to as character "escaping". The \ character is the escape character, which is used in combination with other characters to specify various special sequences. Section 3.10.6 of the JLS describes the various escape sequences. As Ernest already pointed out, to specify a \ character, it must be escaped - by itself. If we were to ponder whether it's a good idea to specify absolute file names in a Java application, we might well come to the conclusion that it is not. Because how could such a thing be written once and run everywhere? In many situations, it may be a good idea to let the user specify the absolute location of some file, by doing something like editing a properties file. Such a thing could be done manually, as part of the required installation of the app, or through some setup routine, which allowed the user to specify the location through a running program.