SpringBoot中jar启动下如何读取文件路径

目录
  • SpringBoot jar启动下读取文件路径
    • 代码如下
    • 截图如下
  • SpringBoot获取路径的方式
    • 前置条件

SpringBoot jar启动下读取文件路径

由于我们经常使用jar 包作为我们的项目启动方式 以及我们经常会设涉及到生成文件这时候就需要一个文件路劲存放临时文件 因为我们正在存放可以在第三方服务器或者自己文件服务器。

下面就介绍一种jar 下生成文件存放示例。

代码如下

@GetMapping("/index")
	public String getFile() throws IOException {
		try {
			File path = new File(ResourceUtils.getURL("classpath:").getPath());
			if (!path.exists()) {
				path = new File("");
				System.err.println("path" + path.getAbsolutePath());
			}
			File upload = new File(path.getAbsolutePath(), "static/temp/");
			if (!upload.exists()) {
				boolean mkdirs = upload.mkdirs();
				String text = "drj测试";
				FileOutputStream fos = new FileOutputStream(upload.getAbsolutePath() +File.separator+ "drj.txt");
				fos.write(text.getBytes());
				fos.close();
				System.err.println("不存在" + mkdirs);
			} else {
				System.err.println(upload.getAbsolutePath());
				System.err.println("存在");
			}
			return "success";
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "error";
	}

截图如下

最后处理完业务逻辑 上传到自己服务器 后删除临时文件

SpringBoot获取路径的方式

前置条件

http://127.0.0.1:9001/aiforce/authentication/sso

1)request.getContextPath()

/aiforce

2)request.getServletPath()

/authentication/sso

只返回传递到servlet的路径

3)request.getPathInfo()

/authentication/sso

只返回传递到servlet的路径

4)request.getRequestURI

/aiforce/authentication/sso

5)request.getRequestURL

http://localhost:9001/aiforce/authentication/sso

返回完整路径

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • springboot 运行 jar 包读取外部配置文件的问题

    案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件 方法一:相对路径设置配置文件 (1)在jar包同级目录创建配置文件conf.properties并写入配置数据: confData=data (2)开始写入自动化测试代码 //from www.fhadmin.cn public class Test{ public String getData() throws IOException { //读取配置文件 Properties properties = new P

  • SpringBoot项目jar发布后如何获取jar包所在目录路径

    目录 SpringBoot项目jar发布获取jar包所在目录路径 SpringBoot打可执行jar运行时输出文件路径问题 SpringBoot项目jar发布获取jar包所在目录路径 ApplicationHome ah = new ApplicationHome(getClass()); File file = ah.getSource(); System.out.println(file.getParentFile().toString()); 说明: 该种方法获取jar包所在路径好处,会根

  • springboot打成jar后无法读取根路径和文件的解决

    目录 springboot打成jar后无法读取根路径和文件 springboot打jar找不到资源文件 springboot打成jar后无法读取根路径和文件 ClassLoader.getSystemResourceAsStream(authenticationFileName) PropertiesUtils.class.getClass().getResourceAsStream("/authentication.properties") 未打包时都可以获取到根路径和文件 打包后报

  • SpringBoot中jar启动下如何读取文件路径

    目录 SpringBoot jar启动下读取文件路径 代码如下 截图如下 SpringBoot获取路径的方式 前置条件 SpringBoot jar启动下读取文件路径 由于我们经常使用jar 包作为我们的项目启动方式 以及我们经常会设涉及到生成文件这时候就需要一个文件路劲存放临时文件 因为我们正在存放可以在第三方服务器或者自己文件服务器. 下面就介绍一种jar 下生成文件存放示例. 代码如下 @GetMapping("/index") public String getFile() t

  • 解决SpringBoot打成jar运行后无法读取resources里的文件问题

    开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下 在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了 File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/office_template/xxx.docx&q

  • SpringBoot中5种高大上的yml文件读取方式

    目录 1.Environment 2.YamlPropertiesFactoryBean 3.监听事件 4.SnakeYml 5.jackson-dataformat-yaml 总结 在上一篇文章中,我们从源码角度分析了SpringBoot解析yml配置文件的全流程,那么我们今天就来点实战,总结一下除了烂大街的@Value和@ConfigurationProperties外,还能够通过哪些方式,来读取yml配置文件的内容. 1.Environment 在Spring中有一个类Environmen

  • SpringBoot中jar打包并部署到Tomcat

    1.详细步骤 首先在pom.xml文件中做一些修改: 之前打war包需要修改打包方式,这次不需要了,因为默认就是 jar 包指定最终打成jar包的名称手动指定 resources 文件夹编译打包的路径添加SpringBoot内嵌Tomcat解析jsp的依赖(仅仅是为这个实例而添加) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/

  • SpringBoot打jar包遇到的xml文件丢失的解决方案

    目录 SpringBoot打jar包遇到的xml文件丢失 在pom.xml的build标签中添加如下内容 SpringBoot打jar包遇到的一些问题 1.访问不到jsp页面 1.1 jar包中没有jsp文件,报404错误 1.2 还是访问不到页面,但不报错,一直在加载 1.3 此时若还报错 SpringBoot打jar包遇到的xml文件丢失 在pom.xml的build标签中添加如下内容 指定资源路径 <resources> <resource> <directory>

  • SpringBoot中实现启动任务的实现步骤

    我们在项目中会用到项目启动任务,即项目在启动的时候需要做的一些事,例如:数据初始化.获取第三方数据等等,那么如何在SpringBoot 中实现启动任务,一起来看看吧 SpringBoot 中提供了两种项目启动方案,CommandLineRunner 和 ApplicationRunner 一.CommandLineRunner 使用 CommandLineRunner ,需要自定义一个类区实现 CommandLineRunner 接口,例如: import org.springframework

  • java 读取文件路径空格、"+"和中文的处理方法

    有时候在java代码中读取文件,如果文件所在路径包含空格."+"号或者是中文的时候,由于这些特殊的字符会被进行编码转译,所以就会报没有发现文件的错误,那么遇到这种错误,我们就要把编码过后的路径进行解码,这样才能正确的找到文件.主要的解决方法有一下三种方法: 解决方法 1.替换法 比如文件路径如果存在空格,那么会被转译成"%20",那么就可以利用字符串替换,把"%20"传化成空格,这样就能正确的找到文件了.这是这种如此暴力,低级的处理方法,一般有经

  • pd.read_csv读取文件路径出现的问题解决

    目录 写在前面 出现的问题 解决问题 用相对路径读取数据集 完整的代码 参考 写在前面 在用pd.read_csv读取数据集时,我有2个疑问?1是:写相对路径还是绝对路径.2是:相对路径,绝对路径怎么写.这篇文章就是解决以上两个问题.如果这个脚本只是在自己电脑上,都可以无所谓,但是如果别人也想用你的脚本,我认为相对路径还是比较好的,数据集和脚本一起拷贝给别人,如果环境没问题的话路径不用修改就可以直接运行,如果你用绝对路径的话,别人拿到之后还得自己修改路径. 出现的问题 报错,这个路径没找到文件,

  • java 用递归获取一个目录下的所有文件路径的小例子

    复制代码 代码如下: private List<String> ergodic(File file,List<String> resultFileName){        File[] files = file.listFiles();        if(files==null)return resultFileName;// 判断目录下是不是空的        for (File f : files) {            if(f.isDirectory()){// 判

  • python输出当前目录下index.html文件路径的方法

    本文实例讲述了python输出当前目录下index.html文件路径的方法.分享给大家供大家参考.具体实现方法如下: import os import sys path = os.path.join(os.path.dirname(sys.argv[0]),'index.html') print path 希望本文所述对大家的Python程序设计有所帮助.

随机推荐