java怎样获取当前目录路径

Python028

java怎样获取当前目录路径,第1张

很多朋友都想知道java如何获取当前目录路径?下面就一起来了解一下吧~

1、利用System.getProperty()函数获取当前路径:

System.out.println(System.getProperty("user.dir"))//user.dir指定了当前的路径

2、使用File提供的函数获取当前路径:

File directory = new File("")//设定为当前文件夹 try{ System.out.println(directory.getCanonicalPath())//获取标准的路径 System.out.println(directory.getAbsolutePath())//获取绝对路径 }catch(Exceptin e){} File.getCanonicalPath()和File.getAbsolutePath()大约只是对于new File(".")和new File("..")两种路径有所区别。 # 对于getCanonicalPath()函数,“."就表示当前的文件夹,而”..“则表示当前文件夹的上一级文件夹 # 对于getAbsolutePath()函数,则不管”.”、“..”,返回当前的路径加上你在new File()时设定的路径 # 至于getPath()函数,得到的只是你在new File()时设定的路径 比如当前的路径为 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() //得到的是.. 另外:System.getProperty()中的字符串参数如下: 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

JAVA中获取路径 关键字: java中获取路径

1、jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 结果:/TEST (3)得到当前页面所在目录下全名称:request.getServletPath() 结果:如果页面在jsp目录下 /TEST/jsp/test.jsp (4)得到页面所在服务器的全路径:application.getRealPath("页面.jsp") 结果:D:/resin/webapps/TEST/test.jsp (5)得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent() 结果:D:/resin/webapps/TEST

2、在类中取得路径: (1)类的绝对路径:Class.class.getClass().getResource("/").getPath() 结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路径:System.getProperty("user.dir") 结果:D:/TEST

这个要求比较苛刻emmm...

给你个思路吧,如果你不想写的话可以追问我,因为我没有时间,所以就不写了

先用File类实例该文件夹,然后读取其目录下的所有文件,如果是文件获取它的文件名字,判断是否以.txt结尾,如果是的话用正则表达式匹配,将匹配的部分(把正则给你吧,[^\w\.]* )进行删除,更改该文件名字(如果在其他文件夹生成就很麻烦,所以先复制一份,再操纵那一份重命名也不影响对吧(皮))

以下java程序的作用是将当前目录及其子目录中的.java文件收集到collection.txt文件中,并添加行号,你可以参考一下。

import java.io.*

public class Collection

{

public static void main(String[] args) throws Exception

{

final String F=".\\collection.txt"

FW=new FileWriter(new File(F))

Collection.ProcessDirectory(new File("."))

Collection.FW.flush()

Collection.FW.close()

}

private static void ProcessDirectory(File d) throws Exception

{

File[] ds=null

Collection.ProcessJavaFile(d)

ds=d.listFiles(Collection.DFilter)

for(int i=0i<ds.lengthi++)

{

Collection.ProcessDirectory(ds[i])

}

}

private static void ProcessJavaFile(File d) throws Exception

{

String line=null

LineNumberReader lnr=null

File[] fs=d.listFiles(Collection.FNFilter)

for(int i=0i<fs.lengthi++)

{

lnr=new LineNumberReader(new FileReader(fs[i]))

Collection.FW.write(fs[i].getCanonicalPath()+"\r\n")

System.out.println(fs[i].getCanonicalPath())

while(null!=(line=lnr.readLine()))

{

Collection.FW.write(""+lnr.getLineNumber()+" "+line+"\r\n")

System.out.println(""+lnr.getLineNumber()+" "+line)

}

Collection.FW.write("\r\n")

System.out.println()

}

}

private static FileWriter FW

private static FilenameFilter FNFilter=new FilenameFilter()

{

public boolean accept(File dir,String name)

{

return name.endsWith(".java")

}

}

private static FileFilter DFilter=new FileFilter()

{

public boolean accept(File pathname)

{

return pathname.isDirectory()

}

}

}