我写了一个简单的代码来将文本写入文件,但我无法弄清楚为什么文本没有写入文件。我编写了一个带有方法的类,它将文本文件作为输入,并创建文本文件(如果它不存在)
这是代码:
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
public class OutputFile {
public static BufferedWriter fbw = null;
public BufferedWriter createFile(String text)
{
try{
File file =new File(text);
if(!file.exists()){
file.createNewFile();
}
FileWriter writer = new FileWriter(text,true);
fbw =new BufferedWriter(writer);
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
return fbw;
}
public static void main(String args[]) throws IOException
{
String resultFilePath = "C:/Users/Desktop/stringcompare/output.txt";
OutputFile file = new OutputFile();
fbw = file.createFile(resultFilePath);
fbw.write("hello");
fbw.newLine();
fbw.close();
}
}
答案 0 :(得分:1)
试试这个:
try(BufferedWriter bw = new BufferedWriter(new FileWriter("FILE_PATH_HERE"))){
br.write("STUFF_TO_WRITE_HERE");
} catch(IOException e){
}
使用此try-with-resources语句,所有结束文件工作都会自动完成。
这仅适用于Java 7或更高版本。
答案 1 :(得分:0)
您必须刷新输出。这可以通过致电writer.flush()
直接完成。