これは方法です:
public void CheckFileType(string directoryPath)
{
var files = Directory.GetFiles(directoryPath).GetEnumerator();
while (files.MoveNext())
{
//get file extension
string fileExtension = Path.GetExtension(Convert.ToString(files.Current));
//get file name without extenstion
string fileName =
Convert.ToString(files.Current).Replace(fileExtension, string.Empty);
//Check for JPG File Format
if (fileExtension == ".jpg" || fileExtension == ".JPG")
// or // ImageFormat.Jpeg.ToString()
{
try
{
//OCR Operations ...
MODI.Document md = new MODI.Document();
md.Create(Convert.ToString(files.Current));
md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
MODI.Image image = (MODI.Image)md.Images[0];
//create text file with the same Image file name
FileStream createFile =
new FileStream(fileName + ".txt", FileMode.CreateNew);
//save the image text in the text file
StreamWriter writeFile = new StreamWriter(createFile);
writeFile.Write(image.Layout.Text);
writeFile.Close();
}
catch (Exception exc)
{
//uncomment the below code to see the expected errors
w.Write(exc.ToString() + Environment.NewLine);
}
}
}
w.Close();
}
変数 files.Current にファイル名が含まれている場合に機能します: RadarGifAnimatoion で、ファイルの種類がちょうど: ファイル ファイルのプロパティを実行し、タイプの下に次のように表示されます: ファイル このファイルのサイズは 32 バイトです ファイルが不良または空であると推測します.
次に、次の行で例外が発生します。
string fileName = Convert.ToString(files.Current).Replace(fileExtension, string.Empty);
文字列の長さをゼロにすることはできません
System.ArgumentException は処理されませんでした HResult=-2147024809
Message=String の長さを 0 にすることはできません。パラメーター名: oldValue
Source=mscorlib ParamName=oldValue