问题描述
java操作时,对于文件的路径一直不是很清楚,还有就是相对路径和绝对路径,最重要的是windows系统的转义字符的问题。能否详细的说说。
解决方案
解决方案二:
46.15%看你的结帖率估计老竹子不会回你的哈哈
解决方案三:
路径,这个你还是去补习一下基础知识吧。我就不多说了。
解决方案四:
路径问题,楼主不需要关心转义字符,全部用"/"号代替就是了.java会自动帮你处理如:path="c:/folder1/folder2/aa.txt"你用"/"代替""在windows及linux下都可以通用
解决方案五:
JAVA.IO.FILE里有静态字段...自己去找..
解决方案六:
windows:d:\text.txt或d:/text.txt
解决方案七:
File.separator与系统有关的默认名称分隔符
解决方案八:
JDK开发者为了实现java的平台无关性现在路径都用“/”newFile()的就是文件的路径
解决方案九:
关于相对路径和绝对路径,可以看一下面的程序.importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.net.URL;publicclassPathTest{/**在E:gamedev下执行javaorg.firstgame.test.PathTest*/publicstaticvoidmain(String[]args)throwsIOException{//得到执行时的classpath路径/E:/workspace/FirstGame/bin/URLurl=Thread.currentThread().getContextClassLoader().getResource("");Stringpath="";if(url!=null){path=url.getPath();System.out.println("1:"+path);}//得到执行时的classpath路径/E:/workspace/FirstGame/bin/url=PathTest.class.getClassLoader().getResource("");if(url!=null){path=url.getPath();System.out.println("2:"+path);}//得到执行时的classpath路径/E:/workspace/FirstGame/bin/url=ClassLoader.getSystemResource("");if(url!=null){path=url.getPath();System.out.println("3:"+path);}//执行时的应用根目录E:workspaceFirstGameFilef=newFile("");path=f.getCanonicalPath();//标准路径,跟absolutePath只差一个文件名System.out.println("4:"+path);//得到执行时.class所在的目录/E:/workspace/FirstGame/bin/url=PathTest.class.getResource("");if(url!=null){path=url.getPath();System.out.println("5:"+path);}url=Thread.currentThread().getContextClassLoader().getResource("org/firstgame/test/PathTest.class");if(url!=null){path=url.getPath();System.out.println("6:"+path);}url=PathTest.class.getClassLoader().getResource(".project");if(url!=null){path=url.getPath();System.out.println("7:"+path);}url=PathTest.class.getResource("/org/firstgame/test/PathTest.class");if(url!=null){path=url.getPath();System.out.println("8:"+path);}}}
系统转义字符,是指路径分隔符吗?还有换行符的问题?File.separator是与环境无关的路径分隔符.换行符要这样取,才与OS环境无关.System.getProperty("line.separator");