我不知道如何让cmd显示用户是否为图像输入了正确的文件路径。我知道我必须安慰你。???但我不知道该怎么写。
设置:
- 用户输入其文件路径
- CMD获取这些信息,并告诉它们是否是图像文件(0xFFD8文件(
- CMD然后创建一个.CSV文件,其中包含文件路径、文件类型和MD5哈希
我一直在获取cmd来告诉用户它是否是jpg文件。
知道我的代码哪里出错了吗?
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Please enter your file path location:");
string mainFile = MainFileInput();
Console.WriteLine("Let's determine what type of file this is:");
string typeFile = ImageType();
}
public static string MainFileInput()
{
string mainFile = Console.ReadLine();
while (File.Exists(mainFile) == false)
{
Console.WriteLine("Main file does not exist. Please enter another file: ");
mainFile = Console.ReadLine();
}
Console.WriteLine("File exists.");
return mainFile;
}
public static ImageType HeaderType(string typefile)
{
string checkType;
byte[] headerBytes;
using (FileStream fileStream = new FileStream(typefile, FileMode.Open))
{
const int mostBytesNeeded = 11;//For JPEG
if (fileStream.Length < mostBytesNeeded)
return ImageType.Unknown;
headerBytes = new byte[mostBytesNeeded];
fileStream.Read(headerBytes, 0, mostBytesNeeded);
}
if (headerBytes[0] == 0xFF &&//FF D8)
{
return ImageType.JPEG;
}
return ImageType.Unknown;
}
public enum ImageType
{
Unknown,
JPEG,
}
}
您需要使用您的文件名从Main
调用方法HeaderType(...)
(mainFile
-在您从调用方法MainFileInput(...)
收到它之后(。
HeaderType(...)
的返回值的类型将为ImageType
使用.ToString()
方法转换为字符串后即可打印。
因此,您的完整Main
将类似于:
static void Main(string[] args)
{
Console.WriteLine("Please enter your file path location:");
string mainFile = MainFileInput();
Console.WriteLine("Let's determine what type of file this is:");
ImageType theType = HeaderType(mainFile);
Console.WriteLine("Image type: " + theType.ToString());
}