First, you should check which API your installed antivirus software provides.
If there is any Java API (e.g. AVG API), you should use it as shown below:
public void scanFile(byte[] fileBytes, String fileName) throws IOException, Exception { if (scan) { AVClient avc = new AVClient(avServer, avPort, avMode); if (avc.scanfile(fileName, fileBytes) == -1) { throw new VirusException("WARNING: A virus was detected in your attachment: " + fileName + "<br>Please scan your system with the latest antivirus software with updated virus definitions and try again."); } } }
If antivirus software is not provided by the Java API, you can invoke it using the command line, as shown below:
String[] commands = new String[5]; commands[0] = "cmd"; commands[1] = "/c"; commands[2] = "C:\\Program Files\\AVG\\AVG10\\avgscanx.exe"; commands[3] = "/scan=" + filename; commands[4] = "/report=" + virusoutput; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(commands);
There is an interesting article for reference: Implementing Antivirus File Scanning in JEE Applications
Hope this helps you.
source share