使用SystemCommandTasklet在Windows中拆分大文件。

huangapple go评论74阅读模式
英文:

Using SystemCommandTasklet to split a large file in Windows

问题

我正在尝试使用Spring Batch中的SystemCommandTasklet将一个大型平面文件拆分为多个文件。我正在从scality检索大文件并将其存储在临时目录中。

我收到以下错误消息:
无法运行程序"split"(在目录"C:\Users\myuser\AppData\Local\Temp"中):CreateProcess错误=2,系统找不到指定的文件

这是问题的重复,https://stackoverflow.com/questions/62753608/using-systemcommandtasklet-to-split-file。但我仍然无法实现它。

在Unix/Linux中,拆分正常工作。

我正在使用Windows机器,那么在Windows机器上使用SystemCommandTasklet拆分是否可行?

英文:

I am trying to split a large flat file into multiple files using SystemCommandTasklet in Spring Batch. I am retrieving the large file from scality and storing it in the temp directory.

I'm getting the below error:
Cannot run program "split" (in directory "C:\Users\myuser\AppData\Local\Temp"): CreateProcess error=2, The system cannot find the file specified

This is a duplicate of the question https://stackoverflow.com/questions/62753608/using-systemcommandtasklet-to-split-file. But I'm still unable to implement this.

Split works fine in Unix/Linux.

I'm using a windows machine, so does split using SystemCommandTasklet work in windows machine?

答案1

得分: 1

这不是一个Spring Batch的问题。这是因为split命令在Windows上不可用。这就是为什么它在Unix/Linux上工作但在MS Windows上不工作的原因。

你需要在Windows上找到一个等效的命令,并将其传递给你的SystemCommandTasklet。否则,你必须编写一些可在所有平台上工作的可移植代码来分割文件(例如在Java中)。

英文:

This is not a Spring Batch issue. It is because the split command is not available on windows. That's why it works on unix/linux but not on MS windows.

You need to find an equivalent command on windows and pass it to your SystemCommandTasklet. Otherwise you have to write some portable code to split a file (in Java for instance) that would work on all platforms.

huangapple
  • 本文由 发表于 2020年8月11日 18:34:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/63356397.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定