Spring批处理FileItemWriter没有以正确的路径创建文件

时间:2015-06-18 08:44:33

标签: java linux spring websphere spring-batch

我有一个包含FileItemReader,FileItemProcessor和FileItemWriter的spring批处理服务。当创建FileItemWriter时,我必须设置将作为我的输出文件的Resource。

我在Linux机器上运行websphere上的批处理服务。问题是如果我将资源设置为新的FileSystemResource(新文件(“opt \ temp1 \ myFile.txt”)),创建的文件的路径是“ /usr/IBM/WebSphere/AppServer/profiles/AppSrv01/\opt\temp\myFile.txt ”这不是我想要的。我想放置文件的路径是“\ opt关于linux文件系统的“temp \ myFile.txt”。关于我做错了什么建议?。

请参阅下面我正在执行此操作的代码段。我正在扩展FileItemWriter并覆盖open方法来设置资源。非常感谢。

@Override
    public void open (ExecutionContext context)
    {
        String fileName = UUID.randomUUID ().toString ();
        String filePath = fileLocation + fileName;
        resource = new FileSystemResource (new File (filePath));
        setResource (resource);
        super.open (context);
    }

fileLocation =“\ opt \ temp \”, 文件名= “MYFILE.TXT”

1 个答案:

答案 0 :(得分:1)

您在fileLocation的值中使用反斜杠。它们是linux中的有效文件名字符。您应该将路径更改为/opt/temp/