如何在liferay中阅读文本文件?

Rav*_*pta 2 java

我试图用这段代码从控制器类中读取一个文件

    ReadFile readFile = new ReadFile();
    String text = readFile.readFile("\resources\testing.txt");
    renderRequest.setAttribute("text", text);
Run Code Online (Sandbox Code Playgroud)

我从view.jsp中获取了它

    <%
    String content = (String)request.getAttribute("text");
    %>
Run Code Online (Sandbox Code Playgroud)

但我得到文件未找到异常.获取文件内容的方法是什么.

Ola*_*ock 5

在Java字符串中,\启动转义序列,"\ r"和"\ t"是转义字符.例如,"\ t"是带有该tab字符的字符串.如果你真的需要\t一个字符串,你将不得不逃避反斜杠

doSomething("\\resources\\testing.txt");
Run Code Online (Sandbox Code Playgroud)

或者只是消除麻烦:当您使用正斜杠作为目录分隔符时,Java运行良好

doSomething("/resources/testing.txt");
Run Code Online (Sandbox Code Playgroud)

请注意,这是指当前路径所在的任何驱动器的根目录中的文件,它可能是C:\ resources\testing.txt或D:\ resources\testing.txt - 除非您的ReadFile实现以某种方式操作路径(我不顾你的判断.您可以在命令行应用程序中独立于Liferay进行测试.在你的jsp显示之前抛出异常(我已经更改了标记来标记相关性)

这是纯Java,完全独立于Liferay.