【问题标题】:Reading text file not local directory读取文本文件不是本地目录
【发布时间】:2015-04-07 15:55:58
【问题描述】:

我有一个文本文件,我想将其读入富文本框中。 一切正常,但我正在使用我的 USB 笔工作,文本文件存储在 I:\ 驱动器上,存储在程序调试文件夹中。 我怎样才能做到这一点,无论我将 USB 插入何处,以及该目录称为什么,程序都会读取该文件? 我已经通过使用数据源使用我的数据库来解决它,但我不知道是否有这样的东西可以读取文本文件。

  using (StreamReader reader = new StreamReader(@"I:\filep\filep\bin\Debug\text.txt"))

【问题讨论】:

  • 是否需要在 USB 上保存文件?
  • 你不能硬编码,因为如果你有另一个文件夹映射到 I 驱动器会发生什么..或者你怎么知道当你把它插入不同的机器或相同的机器上时一个驱动器号将持续存在的问题..?
  • @Izzy 这不是必需的,这正是我一直在努力的工作
  • 在尝试从 StreamReader from driveInfo in DriveInfo.GetDrives() where driveInfo.DriveType == DriveType.Removal select driveInfo.RootDirectory.FullName 读取之前,您需要执行类似操作,例如,如果您知道 WMI 您也可以这样做.. 有几种方法可以做到这一点
  • @MethodMan 我的问题可能表述得很糟糕,我知道当我插入 USB 并打开文件时,驱动器号会因机器而异,这就是我的问题。我曾尝试使用 google docs api 来阅读它,但我似乎找不到一个好的教程或一个你也可以使用流阅读器的教程。我真的很难过

标签: c# text streamreader


【解决方案1】:

你可以试试iterating over your drives,检查一下

drive.Name + "filep\filep\bin\Debug\text.txt"

每次传递给see if the file exists

从 MethodMan 的评论中编辑:如果您确定您的文件存在于拇指驱动器上,那么您也希望在其中进行此检查

drive.DriveType == DriveType.Removal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多