我使用Apache Commons FileUpload
将文件上传到服务器。这是我的实现的摘要:
while (fileIterator.hasNext())
{
FileItem item = fileIterator.next();
// Get file name
String fileName = item.getName();
try
{
URL url = this.getClass().getResource("/resources/");
filePath = url.toURI().getPath();
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
// Write the file.
File uploadedFile = new File(filePath + fileName);
/* Before the next line of code executes and writes the file,
* I would like to delete the first line of the file to be written. */
item.write(uploadedFile);
// Sort the uploaded DAT file
this.sortUploadedFile(fileName);
我想知道的是,是否有可能打开FileItem
(也许以Stream
的形式),然后在文件上载并写入服务器之前删除文件的第一行。
由于文件很大(> 2GB),所以我的想法不是使用读取整个文件,进行编辑然后再次写入的传统解决方案;而是我可以在将FileItem
写入服务器之前就对其进行更改,从而消除了将整个文件读入内存然后进行写入的需要。