Springboot项目下载/上传路径整理

以前写SSM项目的时候,项目结构是webapp,所以在代码里./就是相对路径。
但是在resources目录下,这样的写法是

resources目录项目

1. ./表示什么

image.png

image.png
实验表明, 在resources目录结构下./表示项目源码根目录

2. request.getServletContext().getContextPath()表示什么

image.png
image.png这里我们可以看出它输出的是空,那么我们用这个路径,下载个东西看下它会在哪里image.png
image.png
它放在了磁盘根目录下了(我的项目在C盘的code目录里)

3. WebUtils.getRealPath(servletContext, path)

image.pngimage.png
会发现有个’点’目录,所以我们path里面就别要点了image.pngimage.png

4. request.getServletContext().getRealPath(“”);

image.pngimage.png
image.pngimage.png

5. 自定义目录

在application.yml里添加

web:
  upload-path: ./admin-server/src/main/resources/static/download/
...
spring:
  resources:
    static-locations: classpath:/resources/,classpath:/static/,file:${web.upload-path}

在项目里

@Value("${web.upload-path}")
    private String path;

就可以做指定目录下载上传了。

根据提供的引用内容,我无法直接回答你的问题。引用和引用提到了Java中如何读取动态配置值的问题,但与你提到的读取文件时出错的问题没有直接关联。 要解决读取文件时出错的问题,你可以尝试以下步骤: 1. 确保文件路径正确:检查文件路径是否正确,包括文件名、文件夹路径和文件扩展名。确保文件存在并且可读。 2. 检查文件编码:确认文件的编码格式是否为UTF-8。可以使用文本编辑器打开文件并查看编码格式。 3. 使用正确的读取方法:根据你的需求选择适当的方法来读取文件。常见的方法包括使用FileInputStream、BufferedReader或Scanner等类来读取文件内容。 4. 处理异常:在读取文件时,可能会出现各种异常,如FileNotFoundException、IOException等。确保在代码中正确处理这些异常,并提供适当的错误处理机制。 以下是一个示例代码,演示了如何使用Java读取UTF-8编码的文件内容: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class ReadFileExample { public static void main(String[] args) { String filePath = "E:/小白做毕设/克隆代码/honey2024/springboot/src/main/java/com/example/springboot/controller/UserController.java"; try { File file = new File(filePath); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); isr.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 请注意,以上代码仅演示了如何读取文件内容,并没有处理具体的业务逻辑。你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值