开发者

write a string into file

开发者 https://www.devze.com 2023-03-26 22:47 出处:网络
I have the abo开发者_如何转开发ve code. What i wanna do is to write in a txt file a string. import java.io.*;

I have the abo开发者_如何转开发ve code. What i wanna do is to write in a txt file a string.

     import java.io.*;
    import java.util.*;

    public void writeAsfalizomenos(asfalizomenos myObj) throws IOException {

    Scanner scanner = new Scanner(System.in);
    System.out.print("Surname: ");
    String username = scanner.nextLine();
    System.out.println(username);


    FileWriter outFile = new FileWriter("asdf.txt", true);
    PrintWriter out1 = new PrintWriter(outFile);

    out1.append(username);
    out1.println();
    out1.append("adfdas");



    //
    // Read string input for username
    //



}

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


    asfalizomenos a = new asfalizomenos();
    a.writeAsfalizomenos(a);
}

The above code creates a txt file but it doesnt write the string to it. Any idea about my bug??


You're not closing or flushing the PrinterWriter or the FileWriter. So basically it's being buffered, so nothing is being written to the file.

You should close both in finally blocks:

FileWriter outFile = new FileWriter("asdf.txt", true);
try {
    PrintWriter out1 = new PrintWriter(outFile);
    try {
        out1.append(username);
        out1.println();
        out1.append("adfdas");
    } finally {
       out1.close();
    }
} finally {
   outFile.close();
}

Closing will flush automatically.

(I can't remember - it's likely that closing the PrintWriter will close the FileWriter. Personally I like to be explicit about it anyway.)


Close the PrintWriter after you're done writing to it:

out1.close();
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号