Java 保存Android文本文件不会在文件中写入文本

Java 保存Android文本文件不会在文件中写入文本,java,android,file-io,fileoutputstream,android-external-storage,Java,Android,File Io,Fileoutputstream,Android External Storage,这段代码的目标是在ABCPrint文件夹中保存一个名为test.txt的文本文件。 它当前正在创建文件夹并创建test.txt文件,但当我打开该文件时,其中没有文本。我已经尝试了所有的方法,从外观上看,这不是一个许可问题是否有人认为下面的代码有任何错误,会阻止它将字符串写入文件 try { File testFolder = new File(Environment.getExternalStorageDirectory(),"ABCPrint"); testFolder.mk

这段代码的目标是在ABCPrint文件夹中保存一个名为test.txt的文本文件。
它当前正在创建文件夹并创建test.txt文件,但当我打开该文件时,其中没有文本。我已经尝试了所有的方法,从外观上看,这不是一个许可问题

是否有人认为下面的代码有任何错误,会阻止它将字符串写入文件

try {

    File testFolder = new File(Environment.getExternalStorageDirectory(),"ABCPrint");
    testFolder.mkdirs();

    File file = new File(testFolder, "test.txt");
    boolean isnew =file.createNewFile();

    FileOutputStream fileOut = openFileOutput(file.getName(), Context.MODE_WORLD_WRITEABLE);
    OutputStreamWriter outputWriter = new OutputStreamWriter(fileOut);

    outputWriter.write("Hello World!");
    outputWriter.write("\n");
    outputWriter.flush();
    outputWriter.close();
    fileOut.flush();
    fileOut.close();

} catch (Exception e) {

    Log.i("Error", "Here", e);
}

每次调用此行时,都会再次创建文件。还有另一种简单的方法:

File testFolder = new File(
            Environment.getExternalStorageDirectory(),
            "ABCPrint");
if (!testFolder.exists())
{
    try
    {
        testFolder.createNewFile();
    } 
    catch (IOException e){
        e.printStackTrace();
    }
}
try
{
    //BufferedWriter for performance, true to set append to file flag
    BufferedWriter buf = new BufferedWriter(new FileWriter(testFolder, true)); 
    buf.append("Hello World!");
    buf.newLine();
    buf.close();
}
catch (IOException e){
    e.printStackTrace();
}

祝你好运。

每次调用这行代码时,都会再次创建文件。还有另一种简单的方法:

File testFolder = new File(
            Environment.getExternalStorageDirectory(),
            "ABCPrint");
if (!testFolder.exists())
{
    try
    {
        testFolder.createNewFile();
    } 
    catch (IOException e){
        e.printStackTrace();
    }
}
try
{
    //BufferedWriter for performance, true to set append to file flag
    BufferedWriter buf = new BufferedWriter(new FileWriter(testFolder, true)); 
    buf.append("Hello World!");
    buf.newLine();
    buf.close();
}
catch (IOException e){
    e.printStackTrace();
}

祝你好运。

每次调用这行代码时,都会再次创建文件。还有另一种简单的方法:

File testFolder = new File(
            Environment.getExternalStorageDirectory(),
            "ABCPrint");
if (!testFolder.exists())
{
    try
    {
        testFolder.createNewFile();
    } 
    catch (IOException e){
        e.printStackTrace();
    }
}
try
{
    //BufferedWriter for performance, true to set append to file flag
    BufferedWriter buf = new BufferedWriter(new FileWriter(testFolder, true)); 
    buf.append("Hello World!");
    buf.newLine();
    buf.close();
}
catch (IOException e){
    e.printStackTrace();
}

祝你好运。

每次调用这行代码时,都会再次创建文件。还有另一种简单的方法:

File testFolder = new File(
            Environment.getExternalStorageDirectory(),
            "ABCPrint");
if (!testFolder.exists())
{
    try
    {
        testFolder.createNewFile();
    } 
    catch (IOException e){
        e.printStackTrace();
    }
}
try
{
    //BufferedWriter for performance, true to set append to file flag
    BufferedWriter buf = new BufferedWriter(new FileWriter(testFolder, true)); 
    buf.append("Hello World!");
    buf.newLine();
    buf.close();
}
catch (IOException e){
    e.printStackTrace();
}

祝你好运。

读这个,你在关闭它们之前先刷新它们读这个,你在关闭它们之前先刷新它们读这个,你在关闭它们之前先刷新它们读这个,你在关闭它们之前先刷新它们我现在真的很确定原稿出了什么问题,但是除了这个小补丁之外,这个方法还可以工作
BufferedWriter buf=newbufferedwriter(newfilewriter(testFolder+“/testfile.txt”,true))老实说,我现在可以确定原版有什么问题,但是除了这个小补丁之外,这个补丁还可以工作
BufferedWriter buf=new BufferedWriter(new FileWriter(testFolder+“/testfile.txt”,true))老实说,我现在可以确定原版有什么问题,但是除了这个小补丁之外,这个补丁还可以工作
BufferedWriter buf=new BufferedWriter(new FileWriter(testFolder+“/testfile.txt”,true))老实说,我现在可以确定原版有什么问题,但是除了这个小补丁之外,这个补丁还可以工作
BufferedWriter buf=new BufferedWriter(new FileWriter(testFolder+“/testfile.txt”,true))