当前位置: 首页 > 知识库问答 >
问题:

未找到Spring MVC文件异常

栾鸣
2023-03-14

我正在使用Spring MVC。在我的控制器中,我从MyClass调用了一个函数

MyClass{
  public static void readFile(){
    File file = new FileReader("myPath/myFile.txt");
    ...
  }
  public static void main(String[] args) {
    readFile();//No problem
  }
}

控制器:

@Controller
public class MyController{
  @RequestMapping(value = "/url", method = RequestMethod.GET)
  public String readFile(Locale locale, Model model) {
    MyClass.readFile();//File not found exception
    ....
  }
}

当我在MyClass的main()中测试它时,读取是有效的,但是当我在服务器上运行项目并访问“/url”时,我得到了这个:

java.io.FileNotFoundException: myPath/myFile.txt (The system cannot find the path specified)

如何在控制器中指定路径?

谢谢您抽出时间。

共有3个答案

公冶泰
2023-03-14

因为这不是绝对的路径。程序将在工作目录下查找文件,您可以将其添加到第一个程序和第二个程序中

   System.out.println("Working Directory = " +
    System.getProperty("user.dir"));

你会看到区别。

叶光华
2023-03-14

我想你正在寻找Spring的资源实现。Spring将确定要使用的资源类型,例如,如果您的文件位于类路径中,则Spring将创建一个类路径资源,或者它指向一个文件,它将创建一个文件资源。如果您使用的是Spring4。尝试类似的东西

@Value("file:///myPath/myFile.txt")
Resource myFile;

看看这个Spring资源文档

滑乐逸
2023-03-14

服务器上的工作目录是什么?在该目录中,服务器上的文件(“myPath/我的文件.txt”)是否存在相对路径?

假设您只需要读取myFile。txt,然后通常是myFile。txt将包含在WAR中,并通过getResourceAsStream读取。

 类似资料:
  • 我正在使用liquibase运行一个changelog文件来部署几个数据库对象。如果在变更日志中找不到特定文件,则会出现文件未找到错误并停止执行。我想忽略未找到的文件,而不是引发错误。我查看了文档,但没有找到任何适用于我的用例的内容。有线索吗? 提前感谢。

  • null 通过查看错误,我试图解决它,因此我将sqoop(本地机器/usr/local/sqoop)文件夹复制到hdfs目录(hdfs://localhost:54310/usr/local/sqoop)。这解决了我的问题。我想从这里知道一些事情:- 在将sqoop转换为hdfs之前,我的安装是否正确? 是否需要将sqoop目录从ext文件系统复制到hdfs文件系统。 16/07/02 13:22

  • 方法:获取 现状:404 注意:URL应该是http://localhost:8080/dragonline/resources/img/icon.png()

  • 我创建了一个新文件,但得到以下错误: java.io.FileNotFoundException:C:\users\xxx\ap\metadata\cb_2015-09-01_07-31-01.ini(Sistem belirtilen Dosyay ̄Bulam ̄Yor)在java.io.fileInputStream.Open0(本机方法)在java.io.fileInputStream.Ope

  • 在用JHipster生成的REST API中,我想抛出一些404异常。通常用 这实际上会导致对xhr请求的404响应。问题是,在前面,JHipster用 当404是实际响应时,这样的结果为空,这使得解析失败。 我试过这个:Spring-MVC控制器中的触发器404?但我无法设置响应的参数。

  • 我一直在尝试运行以下命令 获取以下错误 github。com/x/customValidation/validators。proto:找不到文件。test\u服务器/测试。proto:5:1:Import“github.com/x/customValidation/validators.proto”未找到或有错误。 我可以看到原始文件在这个位置- 我还尝试了使用--proto\u path命令,但