C#控制台应用程序从插入USB的文件读取数据-Linux
我有一个内置于C#控制台应用程序从插入USB的文件读取数据-Linux,c#,linux,.net-core,usb,readfile,C#,Linux,.net Core,Usb,Readfile,我有一个内置于的控制台应用程序。net Core独立于平台,可以从插入的USB读取数据,我在Windows上测试过,它工作得非常好 现在,我将控制台应用程序移动到运行Linux的raspberry pi上运行,但没有从插入的USB向raspberry pi读取数据 我已经在Linux中安装了USB,但仍然无法工作。在Linux中找不到连接的USB,以下是我从USB读取数据的代码: private static void ReadFromUSB() { C
的控制台应用程序。net Core
独立于平台,可以从插入的USB读取数据,我在Windows上测试过,它工作得非常好
现在,我将控制台应用程序移动到运行Linux的raspberry pi上运行,但没有从插入的USB向raspberry pi读取数据
我已经在Linux中安装了USB,但仍然无法工作。在Linux中找不到连接的USB,以下是我从USB读取数据的代码:
private static void ReadFromUSB()
{
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("Checking connected USB ... \n");
var drives = DriveInfo.GetDrives()
.Where(drive => drive.IsReady && drive.DriveType == DriveType.Removable)
.OrderBy(drive => drive.Name)
.Select(drive => drive.Name);
if (drives.Count<string>() > 0)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Connected USB is found! \n");
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("Reading USB content ... \n");
if (File.Exists(drives.First() + "\\file.txt"))
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Reading file.txt file \n");
FileStream fs = new FileStream(drives.First() + "\\file.txt", FileMode.Open, FileAccess.ReadWrite);
StreamReader sr = new StreamReader(fs);
Data = sr.ReadToEnd().ToString();
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine("Data value: " + Data+ "\n");
sr.Close();
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Cant find file.txt file!\n");
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("No USB is Connected! \n");
}
}
你是如何安装USB的?USB设备可以是不同的类型,如文件系统或串行设备。你可能没有正确安装USB。我更新了我的答案,说明了我是如何安装USB的,这样做对吗@jdwengSee如果有以下帮助:我找不到我要找的东西:/sda是一个硬盘驱动器(最初是sci设备),通过USB电缆连接到您的机器。有时称为可移动硬盘。挂载后,您可以像c#中的任何文件一样读写。通信使用串行端口,一旦安装,您就可以像文件系统一样访问。见:
sudo chmod -R a+rw /mnt/usb
sudo find /mnt/usb -type d -exec chmod a+x {} \;
ls -l /mnt/
sudo mount /dev/sda1 /mnt/usb/
ls /mnt/usb