java - 创建一个新文件,然后写入

标签 java android

我试图创建一个新的 CSV 文件,然后写入它,代码到达 BufferedWriter 然后我得到一个 java.io.FileNotFoundException:/mnt/sdcard/SMSMonitor/04-07-2011/Backup_20:43:00.csv(无效参数) 异常。有谁知道为什么会发生这种情况?

public void generateCSVFile(ArrayList<String> list)
{
    File CreateDirectory  = new File(Environment.getExternalStorageDirectory()
        + "/SMSMonitor/" + subFolderName);
    CreateDirectory.mkdirs();

    try 
    {
        File file = new File(CreateDirectory +"/"+ fileName);

        BufferedWriter writer = new BufferedWriter(new FileWriter(file));
        writer.write("ID, Date, Address, Body");
        writer.newLine();
        for (String s : list)
        {
            writer.write(s);
            writer.newLine();
        }
        writer.newLine();
        writer.flush();
        writer.close();
    }
    catch (IOException e) 
    {
        e.printStackTrace();
    }
}

最佳答案

尝试创建不带任何冒号的文件,因为使用的文件系统已保留它。

参见http://en.wikipedia.org/wiki/File_Allocation_Table#Directory_table

关于java - 创建一个新文件,然后写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575934/

相关文章:

Java:如何限制方法对特定类的访问?

java - 将多个按钮设置为禁用

java - eclipse 中的 Struts.xml 包命名空间

java - 在 Java 应用程序中通过亚马逊服务器上的 JavaMail API 发送带有附件的邮件时出现空指针异常

java - 如何检测文本是否包含 [FSI]*[PDI]

java - 传输文件 USB 大容量存储 OTG

android - 当我们使用 SQLite 时,当我们使用 content provider 时,当我们使用 Shared preference 时

java - 开发者可以跟踪应用程序的统计信息吗? - 安卓

java - 通过 Fragment 父类(super class)或扩展 Fragment 类引用 fragment 有什么区别?

java - 访问firebase数据库的.push键以更新android中的个人资料信息