小编And*_*eas的帖子

Streamreader到相对文件路径

我想知道是否有人能告诉我如何将StreamReader指向程序当前工作目录中的文件.

EG说我有程序Prog,保存在目录C:\ ProgDir中.我将\ ProgDir提交到共享文件夹.里面的ProgDir是另一个包含我要导入Prog的文件的目录(例如\ ProgDir\TestDir\TestFile.txt)我想这样做,以便StreamReader可以读取那些TestFiles,即使目录的路径有改变;

(EG,在我的电脑上,Testfiles的路径是

C:\ ProgDir\TESTDIR\TESTFILE.TXT

但是在另一个人的计算机上,目录是

C:\ dev_code\ProgDir\TESTDIR\TESTFILE.TXT

).

如何从另一个人的计算机上的TestFile.txt中读取StreamReader?(澄清一下,文件名不会改变,唯一的变化就是路径ProgDir)

我尝试了以下方法:

string currentDir = Environment.CurrentDirectory;
DirectoryInfo directory = new DirectoryInfo(currentDir);
FileInfo file = new FileInfo("TestFile.txt");

string fullDirectory = directory.FullName;
string fullFile = file.FullName;

StreamReader sr = new StreamReader(@fullDirectory + fullFile);
Run Code Online (Sandbox Code Playgroud)

(从中获取:获取相对于当前工作目录的路径?)

但我得到"当前上下文中不存在TestFile".任何人都知道如何处理这个问题?

谢谢.

.net c# filestream

10
推荐指数
3
解决办法
6万
查看次数

Swift和NSTask挂起

我是Mac世界的新手.我正在使用Swift,我正在尝试一次运行一个外部进程.现在一切正常,因为它被调试,我的意思是:在附带调试器的Xcode中运行.

我没有改变任何东西,并尝试在终端窗口中运行它,从它在"Debug"文件夹中的位置.现在外部进程启动但挂起.有一些STDERR输出,我已经关闭了.外部任务有DiskIO.

let video : NSTask = NSTask()
video.launchPath = "./ffmpeg"
video.arguments = ["-i", "\(item)", "-c:v","copy", "-bsf:v", "h264_mp4toannexb", "-an", "-y", "-loglevel", "quiet", "\(path).h264"]

//also tried without the following two lines
video.standardError = NSFileHandle.fileHandleWithStandardError()
video.standardOutput = NSFileHandle.fileHandleWithStandardOutput()

video.launch()
video.waitUntilExit()
Run Code Online (Sandbox Code Playgroud)

是的:我将所有内容复制到当前路径,以便执行起作用.它从终端运行时启动但挂起.

现在问题出现了:为什么?!我在这做错了什么?简单的解决方案是始终在Xcode中运行它,但正如您可能想象的那样,使用命令行工具非常不方便.

xcode nstask swift

3
推荐指数
1
解决办法
1674
查看次数

标签 统计

.net ×1

c# ×1

filestream ×1

nstask ×1

swift ×1

xcode ×1