简体   繁体   中英

Automatically Store String Data Externally For Later Use in Java

I have a basic User Input and System Output program using strings, and at the start of the program it asks for the user's name, which it saves as a string variable inside the program.

Scanner input = new Scanner(System.in); 
System.out.println("Hello there! What's your name?");
String name = input.nextLine();

What I want is for the program to save all new names it receives in an external file (like a text file), and whenever a name is input it checks to see if it has encountered that name before. I want to use an if / else statement to have it display a different output depending on whether or not it has seen that name before. How do I go about accomplishing this?

~

My apologies if this is a basic problem (or if it has been answered before), but I am relatively new to java and I wasn't able to find a solution. Thank you for your help! ^-^

I think this program may accomplished your requirement

public static void main(String as[]) throws Exception{
int i=0;
File f1=new File("D:\\Name.txt");
FileWriter fw=new FileWriter(f1,true);
Scanner input = new Scanner(System.in); 
Scanner output=new Scanner(f1);
System.out.println("Hello there! What's your name?");
String name = input.nextLine();
if(!f1.exists()){
    f1.createNewFile();
}
else{
        while(output.hasNext()){
            String na=output.next();
            if(na.equals(name)){
                ++i;
                break;
            }
        }
        if(i==0)
            fw.write(name+" ");
        else{
            System.out.println("Please enter some different name");
        }

}
fw.close();
input.close();
output.close();

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM