9

I have a String that is storing the processed results for a few files. How do I write that String to a .txt file in my project? I have another String variable which is the desired name of the .txt file.

user1261445
  • 291
  • 1
  • 6
  • 15

3 Answers3

18

Try this:

//Put this at the top of the file:
import java.io.*;
import java.util.*;

BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));

//Add this to write a string to a file
//
try {

    out.write("aString\nthis is a\nttest");  //Replace with the string 
                                             //you are trying to write
}
catch (IOException e)
{
    System.out.println("Exception ");

}
finally
{
    out.close();
}
A B
  • 4,068
  • 1
  • 20
  • 23
  • 1
    Better specify your encoding: try(BufferedWriter out = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(path), StandardCharsets.UTF_8 ));) { out.write(content); } – pdem May 14 '18 at 14:09
6

Do you mean like?

FileUtils.writeFile(new File(filename), textToWrite); 

FileUtils is available in Commons IO.

Peter Lawrey
  • 525,659
  • 79
  • 751
  • 1,130
5

Files that are created using byte-based streams represent data in binary format. Files created using character-based streams represent data as sequences of characters. Text files can be read by text editors, whereas binary files are read by a program that converts the data to a human-readable format.

Classes FileReader and FileWriter perform character-based file I/O.

If you are using Java 7, you can uses try-with-resources to shorten method considerably:

import java.io.PrintWriter;
public class Main {
    public static void main(String[] args) throws Exception {
        String str = "写字符串到文件"; // Chinese-character string
        try (PrintWriter out = new PrintWriter("output.txt", "UTF-8")) {
            out.write(str);
        }
    }
}

You can use Java’s try-with-resources statement to automatically close resources (objects that must be closed when they are no longer needed). You should consider a resource class must implement the java.lang.AutoCloseable interface or its java.lang.Closeable subinterface.

Paul Vargas
  • 41,222
  • 15
  • 102
  • 148