Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Your task is to write a sniffer tool/program that will sniff out target names in

ID: 3722384 • Letter: Y

Question

Your task is to write a sniffer tool/program that will sniff out target names in selected files. Such a tool can be used in security agencies to flag down all emails, text messages, etc where given target names of interest are being used. (in java)

More specifically, your task is to write the code for method

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

{

// your code goes here

}

The method takes a a file name to read from, an output file name to print results out to, and a keyword to search for; this method searches the keyword in the inputFile, and it prints out the following to the output file,

print “File: “ followed by the file name being searched

print “Keyword being searched: “ followed by the keyword

print “Status:” followed by “Clean” or “Investigate”

if the status is investigate then print after it the number of occurrences of the keyword in that given file, example “Investigate[5]” meaning the keyword appeared 5 times in the given file.

Write a main method that tests the snif method.

Explanation / Answer

thsi is code for ur requirement

----------------------------------------

package com.sorting;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileWriter;

import java.io.PrintWriter;

import java.sql.Timestamp;

import java.text.SimpleDateFormat;

import java.util.Scanner;

public class SerchingText {

public static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyyMMddHHmmss");

public static void snif(String inputFile,String outputFile,String keyword) throws FileNotFoundException,Exception   

{

File file=new File(inputFile);

  

int wordCount=SerchingText.countWord(keyword, file);

  

  

String path=file.getParent()+"\"+outputFile+".txt";

File outfile=new File(path);

outfile.createNewFile();

  

  

  

PrintWriter out = new PrintWriter(new BufferedWriter( new FileWriter(outfile,true)));

out.write("File :"+file.getName());

out.write("Keyword being searched :"+keyword);

out.write("Status :"+"Investigate["+wordCount+"]");

out.close();

System.out.println("generated output file location is--------------"+outfile.getAbsolutePath());

  

  

  

  

}

  

  

public static int countWord(String word, File file)throws Exception {

int count = 0;

Scanner scanner = new Scanner(file);

while (scanner.hasNextLine()) {

String nextToken = scanner.next();

if (nextToken.equalsIgnoreCase(word))

count++;

}

return count;

}

  

public static void main(String[] args)throws Exception {

Timestamp timestamp = new Timestamp(System.currentTimeMillis());

String outputFile=FORMAT.format(timestamp);

Scanner sc = new Scanner(System.in);

System.out.println("Eneter input file location");

String location = sc.nextLine();

System.out.println("Eneter ketword for Serching");

String keyword = sc.nextLine();

  

snif(location,outputFile,keyword);

  

  

  

}

}