java Java 파일을 가져오는 경로를 어떻게 작성하나요?
1. 파일의 현재 경로를 가져오는 Java 코드
권장 튜토리얼: "java learning"
//利用System.getProperty()函数获取当前路径 System.out.println(System.setProperty("user.dir", "c:users")); System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径 //在类中取得类的绝对路径 System.out.println(Class.class.getClass().getResource("/").getPath()); System.out.println(Thread.currentThread().getContextClassLoader().getResource("./").getPath()); System.out.println(Thread.currentThread().getContextClassLoader().getResource("").getPath());//ClassPath的绝对URI路径 System.out.println(Thread.currentThread().getContextClassLoader().getResource(".").getPath());//项目的绝对路径
2. File에서 제공하는 함수를 사용하여 현재 경로를 가져옵니다
File directory = new File("");//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath());//获取标准的路径 System.out.println(directory.getAbsolutePath());//获取绝对路径 }catch(Exceptin e){ }
(1) 참고:
File.getCanonicalPath() 및 File.getAbsolutePath()는 새 파일(".")과 새 파일("..")의 두 경로만 다릅니다.
getCanonicalPath() 함수의 경우 "."는 현재 폴더를 나타내고, ".."는 현재 폴더의 상위 폴더를 나타냅니다.
getAbsolutePath() 함수의 경우 ".", ".."에 관계없이 현재 경로와 새 File()에서 설정한 경로를 반환합니다.
getPath() 함수의 경우 얻을 수 있는 것은 단지 new에 설정한 경로 File()을 사용할 때 설정한 경로입니다.
(2) 현재 경로가 C:/test인 경우:
File directory = new File("abc"); directory.getCanonicalPath();//得到的是C:/test/abc directory.getAbsolutePath();//得到的是C:/test/abc direcotry.getPath();//得到的是abc File directory = new File("."); directory.getCanonicalPath();//得到的是C:/test directory.getAbsolutePath();//得到的是C:/test/. direcotry.getPath(); //得到的是. File directory = new File(".."); directory.getCanonicalPath(); //得到的是C:/ directory.getAbsolutePath(); //得到的是C:/test/.. direcotry.getPath(); //得到的是..
(3) System.getProperty() 매개변수 목록
java.version Java Runtime Environment version java.vendor Java Runtime Environment vendor java.vendor.url Java vendor URL java.home Java installation directory java.vm.specification.version Java Virtual Machine specification version java.vm.specification.vendor Java Virtual Machine specification vendor java.vm.specification.name Java Virtual Machine specification name java.vm.version Java Virtual Machine implementation version java.vm.vendor Java Virtual Machine implementation vendor java.vm.name Java Virtual Machine implementation name java.specification.version Java Runtime Environment specification version java.specification.vendor Java Runtime Environment specification vendor java.specification.name Java Runtime Environment specification name java.class.version Java class format version number java.class.path Java class path java.library.path List of paths to search when loading libraries java.io.tmpdir Default temp file path java.compiler Name of JIT compiler to use java.ext.dirs Path of extension directory or directories os.name Operating system name os.arch Operating system architecture os.version Operating system version file.separator File separator ("/" on UNIX) path.separator Path separator (":" on UNIX) line.separator Line separator ("/n" on UNIX) user.name User’s account name user.home User’s home directory user.dir User’s current working directory
3. jsp
에서 경로를 가져옵니다.(1) 프로젝트 이름 TEST를 example
//得到包含工程名(工程名为TEST)的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp //得到工程名:request.getContextPath() 结果:/TEST //得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp //得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D:/resin/webapps/TEST/test.jsp //得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 结果:D:/resin/webapps/TEST
4 Servlet
//得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。 结果:E:/Tomcat/webapps/TEST //得到url地址栏地址:request.getRequestURL() 结果:http://localhost:8080/TEST/test //得到相对地址:request.getRequestURI() 结果:/TEST/test에서 경로를 가져옵니다.
위 내용은 Java에서 Java 파일의 경로를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!