Java 无法创建文件

Java 无法创建文件,java,android,Java,Android,我通过Intent将一个值从android传递到java文件。正在传递该值。当我写入system.out.print时,该值显示在log cat中,但当我尝试写入文件时,不会创建该文件。我没有收到任何错误,但没有显示任何内容。我试图更改文件的位置,但仍然不起作用。我有权将txt文件保存在任何地方,尽管我已经检查了它并更改了位置 代码: JavaServiceClass.java public void onStart(Intent intent, int startId) {

我通过Intent将一个值从android传递到java文件。正在传递该值。当我写入system.out.print时,该值显示在log cat中,但当我尝试写入文件时,不会创建该文件。我没有收到任何错误,但没有显示任何内容。我试图更改文件的位置,但仍然不起作用。我有权将txt文件保存在任何地方,尽管我已经检查了它并更改了位置

代码:

JavaServiceClass.java

 public void onStart(Intent intent, int startId) {

                ArrayList<String> stock_list = (ArrayList<String>) intent.getExtras().get("stock_list");            
            //  System.out.println(stock_list.get(1) );

                writeInFile(stock_list.get(1));
}

您正在F驱动器上创建具有Windows路径的文件:

File file = new File("F:/abc.txt");
这个文件永远不会存在,也永远无法创建,Android是Linux。查看用于在设备的内部/外部存储器中创建文件的上下文类(由活动、服务类扩展)。例如,要在缓存目录中创建文件:

File file = new File(getCacheDir(), "abc.txt");
您还需要在finally块中关闭writer,并且还应该正确处理异常。

尝试以下代码

public void writeInFile(String stock_list ) throws Exception
            {
    File file = new File(Environment.getExternalStorageDirectory() + File.separator + "abc.txt");
    file.createNewFile();

    //write the data into file
    if(file.exists())
    {
         OutputStream fo = new FileOutputStream(file);              
         fo.write(stock_list);
         fo.close();
         System.out.println("file created: "+file);

    }               

   }
不要忘记在清单中添加以下行

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


您的AndroidManifest.xml文件中有这个吗?“enoint(没有这样的文件或目录)”@fge我正试图将它保存在我的笔记本电脑上。@esdebon是的,我有writtenWait,你正试图从手机上的Android应用程序写入笔记本电脑?
File file = new File(getCacheDir(), "abc.txt");
public void writeInFile(String stock_list ) throws Exception
            {
    File file = new File(Environment.getExternalStorageDirectory() + File.separator + "abc.txt");
    file.createNewFile();

    //write the data into file
    if(file.exists())
    {
         OutputStream fo = new FileOutputStream(file);              
         fo.write(stock_list);
         fo.close();
         System.out.println("file created: "+file);

    }               

   }
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />