Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中向文件写入字节数组?_Java_Android_File_Bytearray_Logcat - Fatal编程技术网

Java 如何在Android中向文件写入字节数组?

Java 如何在Android中向文件写入字节数组?,java,android,file,bytearray,logcat,Java,Android,File,Bytearray,Logcat,这是我创建文件的代码 public void writeToFile(byte[] array) { try { String path = "/data/data/lalallalaa.txt"; FileOutputStream stream = new FileOutputStream(path); stream.write(array); } catch (FileNotFoundException e

这是我创建文件的代码

public void writeToFile(byte[] array) 
{ 
    try 
    { 
        String path = "/data/data/lalallalaa.txt"; 
        FileOutputStream stream = new FileOutputStream(path); 
        stream.write(array); 
    } catch (FileNotFoundException e1) 
    { 
        e1.printStackTrace(); 
    } 
} 
当我试图通过调用路径
String path=“/data/data/lallaa.txt”将文件发送到服务器时

我收到此logcat错误消息:

03-26 18:59:37.205: W/System.err(325): java.io.FileNotFoundException: /data/data/lalallalaa.txt

我不明白为什么它找不到“假定”已创建的文件。

您确定该文件已创建吗

尝试添加以下内容:

File file = new File(path);
if (!file.exists()) {
  file.createNewFile();
}

如果文件不存在或试图写入只读文件,将引发此异常。还可以尝试使用完整路径名,并查看是否出现相同的异常(以检查您是否提供了正确的相对路径)。

/data/data/是Android中的特权目录。应用程序无法写入或读取此目录


相反,您应该使用
context.getFilesDir()
来查找要使用的有效文件名。

我认为您最好添加FileOutputStream的close函数来清除代码

这对我很管用

try {
    if (!file.exists()) {
        file.createNewFile();
    }
    FileOutputStream fos = new FileOutputStream(file);
    fos.write(bytes);
    fos.close();
} catch (Exception e) {
    Log.e(TAG, e.getMessage());
}

别忘了在事后关闭小溪,这是正确的。我实际上并没有创建一个新文件。我不知道那个方法,也不知道它是必要的。谢谢