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

将批量输出转换为绝对文件路径

宰父德馨
2023-03-14

我有一个Spring批处理过程,可以编写一个。txt文件。它工作得很好,除了一件事。当它在调度器(zena)上运行时,输出文件会被写入错误的位置,因为我将路径设置为相对路径。以下是我如何在FlatFileItemWriter中指定输出文件的位置:

FlatFileItemWriter<Something> writer = new FlatFileItemWriter<Something>();
writer.setResource(new FileSystemResource(new File("..csv/output.txt")));

当我在没有调度程序的情况下运行时,文件会写入正确的目录:

/BatchJob/csv/output.txt

但当我在调度程序上运行时,文件会被写入:

/Scheduler/Location/csv/output.txt

我尝试使用classPathResource:

writer.setResource(new ClassPathResource("output.txt", getClass()));

但是然后它尝试根据类包的名称将文件写入目录位置。相反,我想将文件写入特定的目录路径位置,而不是基于包名称。

共有1个答案

全彬
2023-03-14

从属性文件中读取目录参数,并将其注入到资源中。

 类似资料:
  • 问题内容: 我有文件A的绝对路径。 我有一个从文件A的目录到文件B的相对路径。此路径可以并且将使用“ ..”以任意复杂的方式向上移动目录结构。 范例A: 示例B: 我如何结合这两者以获得 最简单的 绝对路径到文件B? 问题答案: 如果我的问题正确,那么您可以执行以下操作:

  • 问题内容: 在我的 文件系统中, 我的工作目录在这里: C:\ temp \ a \ b \ c \ d 在b \ bb下有文件:tmp.txt C:\ temp \ a \ b \ bb \ tmp.txt 如果要从工作目录转到该文件,请使用以下路径: 如果文件不存在,我想记录完整路径并告诉用户: “文件C:\ temp \ a \ b \ bb \ tmp.txt不存在” 。 我的问题: 我需

  • 我正在使用一个eclipse插件,其中存在于视图中的项目的工作区名称与项目的实际路径不同。因此,当我试图获取项目位置时,考虑到位于的项目,它指向。 有没有办法从绝对路径(它指向本地路径)获取IFile? 我想创建一个超链接到一个我有绝对路径的特定文件。当我点击控制台上的超链接时,它应该在编辑器中打开文件。

  • 将波浪符号(~)路径转换为绝对路径。 通过一个正则表达式使用 String.replace() 和 OS.homedir() 来用主目录替换路径起始处的〜。 const untildify = str => str.replace(/^~($|\/|\\)/, `${require('os').homedir()}$1`); untildify('~/node'); // '/Users/aUs

  • 我在尝试选择文件时获得URI: /外部/文件/15499 我如何将它转换成真实的文件路径? 注意:我阅读了以下主题: null

  • 问题内容: 如何使用PHP将相对路径转换为绝对URL? 问题答案: