我正在使用using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
const char DELIM = ',';
const double END = 000;
const string FILENAME = "D:\\customers.csv";
Customer cus = new Customer();
FileStream inFile = new FileStream(FILENAME, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(inFile);
string recordIn;
string[] fields;
int idNum;
Write(" **Type " + END + " To Quit** Enter Customer ID Number> ");
idNum = Convert.ToInt32(ReadLine());
while (idNum != END)
{
WriteLine("{0,5}{1,10}{2,15}{3,15}{4,15}{5,25}\n", "ID", "Title", "First Name", "Last Name", "Gender", "DOB");
inFile.Seek(0, SeekOrigin.Begin);
reader.ReadLine();
recordIn = reader.ReadLine();
while (recordIn != null)
{
fields = recordIn.Split(DELIM);
cus.ID = Convert.ToInt32(fields[0]);
cus.Title = fields[1];
cus.FirstName = fields[2];
cus.LastName = fields[3];
cus.Gender = fields[4];
cus.DOB = fields[5];
if (cus.ID == idNum)
WriteLine("{0,5}{1,10}{2,15}{3,15}{4,15}{5,25}\n", cus.ID, cus.Title, cus.FirstName, cus.LastName, cus.Gender, cus.DOB);
recordIn = reader.ReadLine();
}
Console.Write(" **Type " + END + " To Quit** Enter Customer ID Number> ");
idNum = Convert.ToInt32(ReadLine());
}
reader.Close();
inFile.Close();
}
public class Customer
{
public int idNum { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public DateTime DOB { get; set; }
}
}
}
这个插件在android上工作正常,但是在实际设备iOS 13.4.1中使用时却出现异常,在上传pdf文件时出现FileSystemException。
错误日志
file_picker: ^1.7.1
2020-04-29 15:56:04.991427+0530 Runner[4358:1416983] [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/0C1997E5-5243-494E-85EA-830E3248CC97/tmp/com.vassar.bluis-Inbox/https:%2Ffoodlicensing.fssai.gov.in%2FREG%2FRG_ViewReceipt.aspx?ReqID=68198366.pdf' (OS Error: No such file or directory, errno = 2)
Flutter版本详细信息
#0 _File.length. (dart:io/file_impl.dart:376:9)
#1 _rootRunUnary (dart:async/zone.dart:1134:38)
#2 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
#3 _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
#4 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
答案 0 :(得分:0)
似乎 Flutter file_picker
存在问题。 更新它应该是一个很好的修复。
由于 iOS 13
您需要请求访问应用沙箱外的文件,如果没有,您将通过 startAccessingSecurityScopedResource
请求访问 length
或 open
,即使您这样做了有一个有效的文件路径。
您可以在 here 中找到更多信息,这些信息实际上也适用于文件。