java创建File在tomcat中的路径

本文探讨了在JUnit测试中使用File类创建文件夹及FileOutputStream进行文件输出的细节。特别关注在Tomcat服务器环境下,如何处理文件路径,包括自动生成文件夹和输出流在找不到目录时的行为。

在用junit测试时,假如创建文件夹:

File file = new File("temporaryDir");
file.mkdir();

则直接在项目目录下直接生成文件夹:

若用tomcat启动时,则在服务器tomcat的bin目录下创建,D:\tomcat\apache-tomcat-7.0.93\bin

FileOutputStream输出流,若在tomcat的bin目录下找不到文件夹时,不会自动生成父级目录,会报错找不到目录。

FileOutputStream fos = new FileOutputStream("temporaryDir/test.zip");

但是只输出test.zip文件,不需要父级目录的话,若test.zip不存在则会自动生成。

FileOutputStream fos = new FileOutputStream("test.zip");
提供的引用内容未涉及Java multiple临时文件路径显示为Tomcat路径而非实际路径问题的解决办法。 通常可以通过以下通用思路尝试解决该问题: 1. **配置文件上传解析器**:在Spring Boot项目里,可通过配置`MultipartConfigElement`来指定临时文件的存储路径。示例代码如下: ```java import org.springframework.boot.web.servlet.MultipartConfigFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.servlet.MultipartConfigElement; @Configuration public class MultipartConfig { @Bean public MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); // 指定临时文件存储路径 factory.setLocation("/your/actual/temp/path"); return factory.createMultipartConfig(); } } ``` 2. **检查Tomcat配置**:确保Tomcat的配置文件(如`server.xml`)没有对临时文件路径进行特殊设置。若有设置,需将其修改为实际想要的临时文件路径。 3. **代码中指定路径**:在处理文件上传的代码里,直接指定临时文件的存储路径。示例代码如下: ```java import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; @RestController public class FileUploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { try { // 指定临时文件存储路径 File tempFile = new File("/your/actual/temp/path/" + file.getOriginalFilename()); file.transferTo(tempFile); return "File uploaded successfully"; } catch (IOException e) { e.printStackTrace(); return "File upload failed"; } } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值