java工作目录

java打开文件时,如果使用的是相对路径,则会使用工作目录作为base dir。可以通过输出系统属性user.dir,即System.getProperty("user.dir")来获取工作目录

使用命令行执行java代码时,工作目录的默认值是当前执行java程序的路径,如下代码打印工作目录,并修改后再输出:

package com.example;



import java.io.IOException;



public class Test {

    public static void main(String[] args) throws IOException {

        System.out.println(System.getProperty("user.dir"));

        System.setProperty( "user.dir", "C:\\Users\\84322\\Desktop" );

        System.out.println(System.getProperty("user.dir"));

    }

}

 但是IDEA中执行不一样!默认是项目的根目录

可以通过运行配置来设置工作目录,如下配置

再次运行时发生了改变。

 

 由前面可见,修改工作目录的方式可以通过代码方式调用System.setProperty来修改,或者通过IDEA来配置。还可以通过配置java命令运行时参数来实现,这个方法可以配置所有系统属性

如下执行会发现执行错误!因此搜索class文件时,如果没有配置classpath,则会基于工作目录下进行搜索,class文件位于

C:\Users\84322\Desktop\test\simple-service\target\classes\com\example\Test.class

因此必须基于目录C:\Users\84322\Desktop\test\simple-service\target\classes才能加载成功。

 则配置classpath即可解决该问题,如下。

那么IDEA是怎么实现修改工作目录的?下面为IDEA运行时执行的java命令。

D:\Java\jdk8\bin\java.exe "-javaagent:D:\JetBrains\IntelliJ IDEA 2021.3\lib\idea_rt.jar=9427:D:\JetBrains\IntelliJ IDEA 2021.3\bin" -Dfile.encoding=UTF-8 -classpath ...... com.example.Test

没看到-Duser.dir参数,猜测是通过-javaagent来配置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达内java培训目录 课程 课程内容 课程目标 第一阶段(以Tetris项目贯穿) Java语言基础 算法基础、常用数据结构、企业编程规范。 掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。 Java面向对象 面向对象特性:封装、继承、多态等,面向对象程序设计,基础设计模式等。 掌握面向对象的基本原则以及在编程实践中的意义;掌握Java面向对象编程基本实现原理。 实训项目一:Tetris项目开发 第二阶段(以T-DMS V1项目贯穿) JDK核心API 语言核心包、异常处理、常用工具包、集合框架。 熟练掌握JDK核心API编程技术;理解API设计原则;具备熟练的阅读API文档的能力;为后续的课程学习打下坚实的语言基础。 JavaSE核心 异常处理、多线程基础、IO系统、网络编程、Java反射机制、JVM性能调优(JVM内存结构剖析、GC分析及调优、JVM内存参数优化)、Java泛型、JDK新特性 熟练掌握JavaSE核心内容,特别是IO和多线程;初步具备面向对象设计和编程的能力;掌握基本的JVM优化策略。 实训项目二:T-DMS V1项目开发 第三阶段(以T-DMS V2项目贯穿) SQL语言 SQL语句基础和提高、SQL语句调优。 熟练的掌握SQL语句;掌握一定的数据库查询技巧及SQL语句优化技巧。 Oracle数据库 Oracle体系结构及系统管理、Oracle数据库高级编程、数据库设计基础。 掌握Oracle体系结构及核心编程技术 XML XML语法、XML解析(SAX、DOM)、Dom4j组件、Digester组件。 熟练掌握XML语法规则;理解DOM模型;熟悉Java对XML的各种解析方式。 实训项目三:T-DMS V2项目开发 第四阶段(以T-NetCTOSS电信计费系统贯穿) HTML/CSS TML基本文档结构、掌握CSS基础语法、关于HTML文档块、链接、列表、表格、表单等 掌握HTML基本原理;掌握CSS各种选择器及常见样式设置;熟练使用HTML常用元素。 JavaScript核心 JavaScript语言基础(数据类型、函数、对象、闭包)、Java DOM编程、事件模型、JavaScript面向对象编程。 深入理解JavaScript语言原理;熟练的使用JavaScript对HTML DOM进行编程;熟练掌握JavaScript对象对象封装技巧,为后续的JavaScript学习打下坚实的基础。 Servlet/JSP Servlet生命周期及Servlet服务器、Tomcat部署配置、JSP语法、自定义标记、JSTL和EL表达式、JSP 新特性、Java Web 设计模式。 透彻理解Servlet核心原理;熟练掌握Servlet API;透彻理解JSP引擎工作原理;透彻理解标记库原理;熟悉常见的Java Web设计模式;为后续的Java Web开发打下坚实的理论基础。 Ajax Ajax基础、XHR对象、Ajax设计模式、JSON技术。 掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax数据规则。 Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心要件,特别是Interceptor和Result;掌握基于模板技术的Struts2 UI组件;掌握基于Ognl的数据共享方式、掌握Struts2各种定制及扩展方式;熟练掌握基于Struts2的Web开发技巧。 实训项目四:T-NetCTOSS电信计费系统项目开发 第五阶段(以"航空订票"真SS实电项信目计为费贯系穿统项贯目穿) 企业应用开发部署环境 Linux高级命令集脚本编程、远程登录、Ant、单元测试技术、Maven构建技术、SVN应用技术。 熟练掌握基于Linux系统的操作技能;可以熟练的完成应用的部署工作;可以熟练的使用开发部署工具。 Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心要件,特别是Interceptor和Result;掌握基于模板技术的Struts2 UI组件;掌握基于Ognl的数据共享方式、掌握Struts2各种定制及扩展方式;熟练掌握基于Struts2的Web开发技巧。 持久层框架技术 ORM概念、Hibernate核心API、Hibernate实体映射技术、Hibernate关系映射技巧、HQL查询、OSCache及Hibernate缓存技术; 掌握JQuery核心API;了解JQuery基本设计原则;了解多种JQuery插件;掌握DWR的基本原理及应用技巧。 Spring技术 Spring Ioc基础、Ioc注入技巧、对象高级装配(自动装配、模板装配、组件扫描特性、FactoryBean、对象生命周期)、Spring AOP原理、AspectJ、Spring JDBC支持、Spring事务及安全管理;Spring整合Hibernate、Spring整合Struts,SpringMVC技术。 深入理解Ioc和AOP的基本原理和实现方式;熟练掌握SpringIoc及AOP实现方式;熟练掌握Spring事务管理;熟练掌握Spring与其他组件的整合技术。• 实训项目五:企业级应用"航空订票"系统开发 1.开班前 5天训练营将完成"捕鱼达人"游戏项目 2.开班 2周内,贯穿着 Java 语言基础及 Java 面向对象的学习,学员将完成专业版的俄罗斯方块项目 3. 开班一个半月内,贯穿 JavaSE及数据库的学习将完成 T-DMS 数据 采集系统项目 • 整个系统由 DMS 采集端、DMS 服务器端和 NetCTOSS 服务器端三部分组成。 • DMS 采集端的主要任务是采集、解析、匹配和保存并发送登录数据。 • DMS采集端程序采集、解析获得数据后,将处理好的数据发送到DMS 服务器端。 • DMS 服务器端接收到日志数据,将日志数据备份保存为文件数据,并存入数据库。 4.开班3个月内,贯穿Web前端技术和Servlet/JSP的学习,将完成T-NetCTOSS项目: NetCTOSS系统的主要任务是提供对于数据的计费查询和管理功能。 5.开班4个月内,学员将完成"航空订票"真实项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值