java - 从项目目录中的文件夹中读取文件

标签 java jsp bufferedreader filepath

在 JSP 项目中 我正在从目录中读取文件。如果我给出完整路径,那么我可以轻松读取文件

BufferedReader br = new BufferedReader(new FileReader("C:\\ProjectFolderName\\files\\BB.key"));

但我不想写完整路径,我只想给出包含文件的文件夹名称,如下所示。

BufferedReader br = new BufferedReader(new FileReader("\\files\\BB.key"));

如何做到这一点?

String currentDirectory = new File("").getAbsolutePath();
System.out.println(currentDirectory);
BufferedReader br = new BufferedReader(new FileReader(currentDirectory + "\\files\\BB.key"));

上面的方法都试过了还是无法读取文件

打印行给出以下输出

信息:C:\Program Files\NetBeans 7.3

最佳答案

使用

File file = request.getServletContext().getRealPath("/files/BB.key");

这会将相对 URL 路径(因此为“/”)从 Web 内容目录转换为文件系统文件。

对于可移植 Web 应用程序,并且知道文件是 Windows Latin-1 格式,明确说明编码,否则将给出主机的默认操作系统编码。

BufferedReader br = new BufferedReader(new InputStreamReader(
        new FileInputStream(file), "Windows-1252"));

如果文件存储为资源,在/WEB-INF/classes/下你也可以使用

BufferedReader br = new BufferedReader(new InputStreamReader(
        getClass().getResourceAsStream("/files/BB.key"), "Windows-1252"));

在那种情况下,文件将驻留在/WEB-INF/classes/files/BB.key 下。

关于java - 从项目目录中的文件夹中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16745018/

相关文章:

java - 使用 MySQL 存储和检索 Word 文档

java - Java中按多边形区域裁剪图像

java - 如何在运行 jsp 页面时查看 pdf 格式的 jasper 报告

java - 如何通过 Controller 将2个域对象传递到1个jsp页面

java - 如何将图像从 App Inventor 发送到使用 FormDataParam 的 java Web 服务

java - jsp页面中如何使用Servlet ResultSet?

java - 使用 Buffered Reader 和 org.json、空指针从 SimpleClient http 请求获取 JSON

java - BufferReader 不会遍历整个文本

java - 使用ServerSockets和Sockets时,BufferedReader挂起,并且看来连接形式不正确

java - 自动从服务器下载到我的服务器