public void execute(File file, FileProcessor processor) {
		String detectedCharset = detectCharset(file);
		if(StringUtils.isBlank(detectedCharset)) {
			System.err.println("Failed to detect the charset of file [" + file.getAbsolutePath() + "]");
			return;
		}
		if(detectedCharset.equalsIgnoreCase(charset)) {
			return;
		}
		try {
			String content = FileUtils.readFileToString(file, detectedCharset);
			File tempFile = new File(file.getCanonicalPath() + ".tmp");
			FileUtils.writeStringToFile(tempFile, content, charset);
			FileUtils.deleteQuietly(file);
			FileUtils.moveFile(tempFile, file);
			System.out.println("File [" + file.getAbsolutePath() + "] is encoded from [" + detectedCharset + "] to [" + charset + "]");
		} catch (Exception e) {
			System.err.println("Failed to encode the file [" + file.getAbsolutePath() + "] with charset of [" + charset + "]");
		}
	}