How to validate if a file is executable in Java
2 min readFeb 14, 2020
Our goal today is to check the validity of a file by testing if it can be executed. Nothing to worry about. We’ve got an API for that.
Installing our library will get our ball rolling. All that this requires is adding two reference snippets to the Maven POM file.
1st
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
2nd
<dependencies>
<dependency>
<groupId>com.github.Cloudmersive</groupId>
<artifactId>Cloudmersive.APIClient.Java</artifactId>
<version>v3.34</version>
</dependency>
</dependencies>
Now that our library is installed, we can move right along to calling our function, validateDocumentExecutableValidation, and providing a file to validate.
// Import classes://import com.cloudmersive.client.invoker.ApiClient;//import com.cloudmersive.client.invoker.ApiException;//import com.cloudmersive.client.invoker.Configuration;//import com.cloudmersive.client.invoker.auth.*;//import com.cloudmersive.client.ValidateDocumentApi;ApiClient defaultClient = Configuration.getDefaultApiClient();// Configure API key authorization: ApikeyApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");Apikey.setApiKey("YOUR API KEY");// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)//Apikey.setApiKeyPrefix("Token");ValidateDocumentApi apiInstance = new ValidateDocumentApi();File inputFile = new File("/path/to/file"); // File | Input file to perform the operation on.try {DocumentValidationResult result = apiInstance.validateDocumentExecutableValidation(inputFile);System.out.println(result);} catch (ApiException e) {System.err.println("Exception when calling ValidateDocumentApi#validateDocumentExecutableValidation");e.printStackTrace();}
Our file will now be tested and its validity will be returned in this format:
{
"DocumentIsValid": true,
"ErrorCount": 0,
"WarningCount": 0,
"ErrorsAndWarnings": [
{
"Description": "string",
"Path": "string",
"Uri": "string",
"IsError": true
}
]
}