package BIB;
import java.io.*;
import java.lang.*;
public class fileParser{// start class file parser
static Map<String, String> word ;
Mapping_File mf = new Mapping_File();
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args){
String Readline = "WCRE";
String Converted = null;
word = mf.getWordsMap();
if(word.containsKey(Readline)){
Converted = word.get(Readline);
}
else if(word.isEmpty()){
Converted = "the map you are looking in is empty";
}
` else
{
System.out.println("Couldnot find the elaborated form.
Please Type the elaborated form you
would like to use for : "
+ Readline + "'");
String query = scanner.next();
Writer output;
output = new BufferedWriter(new
FileWriter("HashMap.txt", true));
String Input = Readline + "=" + query;
output.append(Input);
output.close();
Converted = "Your Input was added to the mapping file";
}// end else
System.out.println(Converted);
}// end main method
}// end class
Was habe ich hier eine Datei erstellt wurde, sollte ausgefeilte Form eines Wortes „WCRE“ von einer Zuordnungsdatei Mapping_File erhalten, die sie aus einer Textdatei liest. Aber die Textdatei, die ich habe, enthält das Wort WCRE nicht.Anfügen eine modifizierten Benutzereingabe in eine vorhandenen Textdatei
Dieses Programm soll Benutzer für das ausgearbeitete Formular fragen, weil es nicht in der Textdatei existiert, die ich habe, die es erfolgreich tut. Auch die Eingabe-Benutzertypen sollen in die Textdatei zusammen mit den Worten "WCRE =" davor geschrieben werden.
Allerdings, wenn ich diesen Code so etwas wie dies ausgeführt wird, bis zum Ende der Datei hinzugefügt:
WCRE=ProceedingsWCRE=ofWCRE=20thWCRE=WorkingWCRE=ConferenceWCRE=onWCRE=ReverseWCRE=EngineeringWCRE=(WCRE)
Was ich will, ist:
WCRE = Proceedings of 20. Arbeitskonferenz über Reverse Engineering (WCRE)
wo "Proceedings der 20. Working Conference auf Reverse Engineering (WCRE)" Benutzereingabe ist.
Die Zuordnungsdatei Konstrukt ist im Anschluss an die Mapping-Datei funktioniert gut, während aus der Textdatei zu lesen und eine Karte
package BIB;
import java.io.*;
import java.util.*;
public class Mapping_File{
static Map<String, String> words = new HashMap<>();
public Mapping_File(){
this.words = words;
String filePath = "HashMap.txt";
String line;
BufferedReader reader = null;
try{
reader =new BufferedReader(new FileReader(filePath));
while((line = reader.readLine())!=null){
String[] parts = line.split("=", 2);
String key = parts[0];
String value = parts[1];
words.put(key, value);
}// end while
}// end try block
catch(Exception e){
System.out.println("Couldnot find the requested file.");
}// end catch block
}// end constructor
public Map<String, String> getWordsMap(){
return words;
}// end get method getWordsMap
}// end of class Mapping_file
Die Textdatei zu schaffen, von dem i folgt betitelt HashMap.txt lese: ICSE = Proceedings of the international Conference on Software Engineering (ICSE)
IWSC = Proceedings of the international Workshop on Software Clones (IWSC)
ASE = Proceedings des Internationalen Conferenc e auf automatisierte Software Engineering (ASE)
ACSAC = Proceedings of the Annual Applications Conference Computer Security (ACSAC)
ICSE (Nier Track) = Proceedings of the International Conference on Software Engineering (ICSE), Nier Spur
was ist "konvertiert"? Bitte teilen Sie das Mapping_File-Konstrukt sowie – nullpointer
sind Sie sogar in der Lage, auf 'word' innerhalb der' main() 'zuzugreifen? – nullpointer
Mit Wort 'static Map word = new HashMap () {{ put (" ICSE "," Proceedings der Internationalen Konferenz für Software Engineering (ICSE) "); setzen ("IWSC", "Proceedings der International Workshop on Software Clones (IWSC)"); setzen ("WCRE", "Proceedings der 20. Arbeitskonferenz für Reverse Engineering (WCRE)"); }}; 'so. Ihr Code in der fileParser-Klasse scheint gut zu funktionieren. Überprüfen Sie einfach, ob Sie eine korrekte Karte zurückgeben oder nicht. –
nullpointer