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