Java File Path Best Practice -
if operating system windows, 1 given below best approach of coding in java?
1)
string f = "some\\path\\file.ext"; 2) string f = "some/path/file.ext"; 3) string f = "some"+file.separator+"path"+file.separator+"file.ext"; 4) string f = new stringbuilder("some").append(file.separator).append("path").append(file.separator).append("file.ext").tostring();
edit: given comments, should clarify. depends on context. trying do? if you're trying create file path in "native" operating system format, use option 5, using file:
file f = new file("some"); f = new file(f, "path"); f = new file(f, "file.ext"); or better, put logic method:
public static file newfile(string root, string... parts) { // todo: check nothing's null (root, parts, each element of parts) file ret = new file(root); (string part : parts) { ret = new file(ret, part); } return ret; } then can call with:
file f = someutilityclass.newfile("some", "path", "file.ext"); (it's possible exists somewhere in recent jres, if don't know where.)
if need work fileinputstream etc, might hard-code forward-slashes, 2 reasons:
- they're easier read backslashes
- they'll work on other operating systems too
either way, still create file, gives clearer meaning value. io apis in java accept file appropriate - , makes obvious code surrounding is file path. use:
file file = new file("some/path/file.ext"); ... , still work on windows. use file.getcanonicalfile canonical representation, have backslashes rather forward slashes, if wanted.
Comments
Post a Comment