创建一个 tempDir 并使用 external_drive_lib 将其保存到 IFile

问题描述 投票:0回答:0

目前我正在从 IDrive 获取一个包含文件的文件夹,我正在将此文件复制到我正在使用 Streamreader 读取的临时文件中,但是有没有办法创建此 IFIle 或我更改临时文件并将其保存到IFile?

public IFolder TryToGetFolder(IDrive drive, string folderPath)
        {
            if (drive.is_connected())
            {
                try
                {
                    return drive.try_parse_folder(folderPath);
                }
                catch
                {
                    return null;
                }
            }
            else
                return null;
        }

        //Tries to get a file in a folder or returns null
        public IFile TryToGetFile(IFolder folder, string filename)
        {
            return folder.files.Where(f => f.name == filename).FirstOrDefault();
        }


        //Tries to read the text of a file or returns null
        public string TryToGetFileText(IFile file)
        {
            //Uses the tempDir to copy the file to it
            string tempDir = _tempDir + "temp-" + DateTime.Now.Ticks;
            Directory.CreateDirectory(tempDir);
            file.copy_sync(tempDir);
            //Read file from tempDir
            StreamReader reader = new StreamReader(tempDir + "\\" + file.name);
            return reader.ReadToEnd();
        }

        //Tries to delete a file
        public void TryToDeleteFile(IFile file)
        {
            if(file != null)
            {
                if (file.exists)
                    file.delete_sync();
            }
        }

我试过了,但这是使用我以前没见过的进程类。

        //Tries to Send a file from the WPF to the Android Device
        public bool SendFileToAndroid(AndroidDevice device, string filePath, CWCProduct cWCProduct)
        {
            if (!device.Drive.is_connected())
                return false;
            try
            {
                var process = new Process
                {
                    StartInfo = new ProcessStartInfo
                    {
                        FileName = "adb",
                        Arguments = $"push {filePath} {cWCProduct}",
                        RedirectStandardOutput = true,
                        UseShellExecute = false,
                        CreateNoWindow = true
                    }
                };
                process.Start();
                process.WaitForExit();
                return true;
            }
            catch
            {
                return false;
            }
        }
android save streamreader streamwriter usb-drive
© www.soinside.com 2019 - 2024. All rights reserved.