Java 为什么我无法将文本写入文件
我已经编写了一个简单的代码将文本写入文件,但我无法理解文本为什么不写入文件。我用方法编写了一个类,该类将文本文件作为输入,如果文本文件不存在,则创建文本文件 代码如下:Java 为什么我无法将文本写入文件,java,Java,我已经编写了一个简单的代码将文本写入文件,但我无法理解文本为什么不写入文件。我用方法编写了一个类,该类将文本文件作为输入,如果文本文件不存在,则创建文本文件 代码如下: import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStre
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();
}
}
你必须刷新你的输出。这可以通过调用
writer.flush()
直接完成。请尝试以下操作:
try(BufferedWriter bw = new BufferedWriter(new FileWriter("FILE_PATH_HERE"))){
br.write("STUFF_TO_WRITE_HERE");
} catch(IOException e){
}
使用此语句,所有关闭文件的工作都将自动完成
这只适用于Java 7或更高版本。您是否遇到任何异常?请尝试在
fbw.close()
之前添加fbw.flush()
,这对我来说很好。C:/Users/Desktop/stringcompare
是否存在?Braj,我没有遇到任何异常,我的文本文件中没有写入任何内容。不close()
刷新文件中的数据?应该,但我习惯在关闭前刷新,因为我已经多次遇到过这个问题。值得一提的是,这只适用于java 7或更高版本。这是java 7中推出的一项功能,因此它只适用于该版本和未来版本。