Java File Input Output Program
Java Code:import java.io.*;
import java.util.*;
/**
*
* @author saad
*/
public class run {
public static void main(String[] args)
throws FileNotFoundException {
Scanner console = new Scanner(System.in);
System.out.print("Input file: ");
String inputFileName = console.next();
BufferedWriter out = null;
try {
out = new BufferedWriter(new FileWriter("D:\\saad\\eclipse\\ec\\13\\agentreport.txt", true));
} catch (IOException e) {
}
try (PrintWriter o = new PrintWriter(out)) {
Set<String> propertyTypes = pTypes(inputFileName);
for (String type : propertyTypes) {
System.out.println(type);
o.println(type);
}
Set<String> Agent = agentValue(inputFileName);
for (String tail : Agent) {
{
System.out.println(tail);
o.println(tail);
}
}
o.flush();
}}
public static Set<String> pTypes(String inputFileName)
throws FileNotFoundException
{
Set<String> Saperate = new TreeSet<>();
try (Scanner in = new Scanner(new File(inputFileName))) {
in.useDelimiter("[1234567890.]");
while (in.hasNext()) {
boolean add = Saperate.add(in.next().toUpperCase());
}}
return Saperate;
}
public static Set<String> agentValue(String inputFileName)
throws FileNotFoundException {
TreeSet<String> d = new TreeSet<>();
SortedMap<String, Number> agentValues = new TreeMap<>();
Scanner in = new Scanner(new File(inputFileName));
String line = inputFileName;
while (in.hasNextLine()) {
try {
line = in.nextLine();
String[] fields = line.split("[\\s}]");
String agentId = (fields[3]);
Double pValue = Double.parseDouble(fields[2]);
if (agentValues.containsKey(agentId)) {
pValue += agentValues.get(agentId).doubleValue();
}
agentValues.put(agentId, pValue);
} catch (Exception e) {
}
Set<String> keySet = agentValues.keySet();
for (String key : keySet) {
Number n = agentValues.get(key);
d.add(key + ":" + n);
}
}
return d;
}
}
No comments:
Post a Comment