type Test1 = {
Date : DateTime
Value : float
}
type Test2 = {
Date1 :DateTime
Value1 : float
Date2 : DateTime
Value2 : float
}
let rng = System.Random()
let rng2 = System.Random()
let rs =
[| for i = 1 to 1000 do
let baseDay = DateTime(2016,1,1).AddDays(float i)
let actualDay = baseDay.AddDays(float (rng2.Next(7)))
yield {Date = actualDay; Value = rng.NextDouble() }|]
[| for r in rs do
let futureDay = r.Date.AddDays(float 4)
let r2 =
rs
|> Array.filter (fun x -> x.Date > futureDay)
|> Array.tryHead
let nr =
match r2 with
| Some x -> Some {Date1 = r.Date;Value1 = r.Value; Date2=x.Date;Value2 = x.Value}
| None -> None
if nr.IsSome then yield nr.Value |]
java.io.FileNotFoundException:/ storage / sdcard0 / Android / data / ... 引起:android.system.ErrnoException:open failed:ENOENT(没有这样的文件或目录)
我在创建文件时遇到此错误。
答案 0 :(得分:0)
所以,文件存在。然后发生这种情况:
if (file.exists()) {
file.delete();
}
现在它不存在,所以你不能使用:
file.getPath();
相反,请使用:
FileOutputStream fos=new FileOutputStream(filePath);
答案 1 :(得分:0)
不确定您是否已经这样做了,但是您需要声明您的应用将写入清单中的外部存储(如果定位到apk版本23以上,您还需要请求用户接受这些权限在授予您的应用之前。)
在清单中的应用程序标记内添加此行:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
如果定位SDK版本23+,您需要请求运行时权限,详见https://developer.android.com/training/permissions/requesting.html