java 当前工作目录是指,获取Java中的当前工作目录

"本文介绍了如何在Java中获取当前工作目录,并使用`System.getProperty("user.dir")`来定位存放CSV文件的目录。通过这种方法,程序可以识别并加载该目录下的所有CSV文件进行数据处理。此外,建议使用JSAP库作为命令行参数解析器,以提供更灵活的目录指定选项,提高代码的可维护性。"
摘要由CSDN通过智能技术生成

Let's say I have my main class in C:\Users\Justian\Documents.

How can I get my program to show that it's in C:\Users\Justian\Documents.

Hard-Coding is not an option- it needs to be adaptable if it's moved to another location.

I want to dump a bunch of CSV files in a folder, have the program recognize all the files, then load the data and manipulate them. I really just want to know how to navigate to that folder.

I want to dump a bunch of CSV files in a folder, have the program recognize all the files, then load the data and manipulate them. I really just want to know how to navigate to that folder.

解决方案

One way would be to use the system property System.getProperty("user.dir"); this will give you "The current working directory when the properties were initialized". This is probably what you want. to find out where the java command was issued, in your case in the directory with the files to process, even though the actual .jar file might reside somewhere else on the machine. Having the directory of the actual .jar file isn't that useful in most cases.

The following will print out the current directory from where the command was invoked regardless where the .class or .jar file the .class file is in.

public class Test

{

public static void main(final String[] args)

{

final String dir = System.getProperty("user.dir");

System.out.println("current dir = " + dir);

}

}

if you are in /User/me/ and your .jar file containing the above code is in /opt/some/nested/dir/

the command java -jar /opt/some/nested/dir/test.jar Test will output current dir = /User/me.

You should also as a bonus look at using a good object oriented command line argument parser.

I highly recommend JSAP, the Java Simple Argument Parser. This would let you use System.getProperty("user.dir") and alternatively pass in something else to over-ride the behavior. A much more maintainable solution. This would make passing in the directory to process very easy to do, and be able to fall back on user.dir if nothing was passed in.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值