Read content of zip file without extracting that - ant

is it possible to perfom some tasks on files in .zip file without really extracting it?
Thanks,

The zipfileset is a resource collection which represents the files within a zipfile.
So any Ant task which accept a resource collection as input (for instance the copy task) can deal with your files within the zip file.

Related

Avoid reading the same file multiple times using Telegraf and file input plugin

I need to read csv files inside a folder. New csv files are generated every time a user submits a form. I'm using the "file" input plugin to read the data and send it to Influxdb. These steps are working fine.
The problem is that the same file is read multiple times every data collection interval. I was thinking of a solution where I could move the file that was read to a different folder, but I couldn't do that with Telegraf's "exec" output plug.
ps: I can't change the way csv files are generated.
Any ideas on how to avoid reading the same csv file multiple times?
As you discovered file input plugin is used to read entire files at each collection interval.
My suggestion is for you to instead use the directory monitor input plugin. This will read files in a directory, monitor the directory for new files, and parse the ones that have not already been picked up yet. There are some configuration settings in that plugin that make it easier to time when new files are read as well.
Another option is to use the tail input plugin which will tail a file and only read new updates to that file as things come. However, I think the directory monitor is more likely something you are after for your scenario.
Thanks!

Using .zip files with Forge Design Automation for AutoCAD

I have a zip file containing several file types (.dwg,.xlsx,.pdf). If I specify a .zip file as input, I've noticed they're all accepted by Forge, but only .dwg's come back out. Is there anyway I can fix this?
Save your results to specific folder and finally create zip file.
ZipFile.CreateFromDirectory(CurrentDirectory + "\\Result", CurrentDirectory + "\\Result.zip");
This zip file set as result of your WorkItem.
Thanks to everyone who replied,
Ultimately, I create a project folder structure all my files are unzipped into (dwgs, pdfs, xlsx),beneath the working folder. My localname for both my input and result are identical in both the Activity and the Workitem. I recall Augusto telling me not to do this, but I have yet to run into an issue with it. In the end, my files get cycled in AutoCAD Core and saved to same location. DA zips the changed files and sends them to my endpoint. I took this approach, because if I save to changed files into a results folder, my modified dwg files and non-dwg files are now in two separate, adjacent locations. If there's a side affect of working with files in a single location, I'd like to know what it is.

Download Directory and Contents

Is it possible to persuade the stream result to download an entire directory and it's contents? And if so, how? I've no problem getting it to download individual files, but I have a need to download a series of files that must be in a specific directory structure.
I don't think so.
Stream result allow you to download ONE content, with its MIME type, its name, etc.
This makes it impossible to work with a lot of files, with different names and content type.
What you can do is:
Render in a JSP the list of files (in anchor tags for example), everyone targeting the Action that will download that single file;
Call multiple Actions via scripting opening multiple pages (target="_blank") for every file you have (dangerous, annoying, almost useless...);
Create a zip with Java in server side, containing all your files and directories, then output the zip with Stream result.
I think you may consider the third option.

How to add one line to a set of files in Ant?

Is it possible to add one line to a set of files in Ant? basically i have a folder which has sub-folders, each subfolder contains different types of files, such as xml files, cmd files, etc. Now I need to add one line to all cmd files under that folder. have searched around for a while, but couldn't find a clue.
Is it possible in Ant?
This should be possible using the copy task with a filterchain. This filterchain would contain a concatfilter with an append attribute pointing to a file containing the line to add.
See http://ant.apache.org/manual/Types/filterchain.html#concatfilter and http://ant.apache.org/manual/Tasks/copy.html for details.

How to read list of files from a folder an export into database in Grails

I have lots of files of same type like .xml in a folder. How can I select this folder from interface and iterate over each file and send this to appropriate tables of database.
Thanks
Sonu
Do you always put the files in the same directory? For example, if you generate these files in some other system, then just want the data imported into your application you could:
Create a job that runs every X minutes
It iterates over each file in the directory and parses the XML, creating and saving the objects to the database
Shifts or deletes the files when it has processed them
Jobs are a Grails concept/plugin: http://www.grails.org/Job+Scheduling+(Quartz)
Processing XML is easy in Groovy - you have many options, depends on your specific scenario - http://groovy.codehaus.org/Processing+XML
Processing files is also trivial - http://groovy.codehaus.org/groovy-jdk/java/io/File.html#eachFile(groovy.lang.Closure)
This is a high level overview. Hope it helps.

Resources