C# - What If DirectoryInfo.GetFiles().Length Exceeds Int32.MaxValue
Sep 22, 2010
the maximum number of files in a folder, I noticed that DirectoryInfo.GetFiles().Length is returning a System.In32, but the Maximum value of a Int32 is 2.147.483.647 (Int32.MaxValue) while on NTFS (an many other filesystems) the maximum number of files can go far beyond that.
on NTFS it is 4.294.967.295 single files in one folder (probably an Uint32)
Which leads me to the interesting question:
Is it possible to get the number of files in a folder on NTFS with the .NET framework, when the number of files exceeds the Int32.MaxValue, in an elegant and performing manner?
Sometimes Convert.ToInt32(object) will work and other times (Int32)object will work. How do you know which to use? I usually try one and if it doesn't work use the other but I'm sure that's not the best approach.
I am writing unit tests for fluent Nhibernate, when I run the test in isloation it passes, but when I run multiple tests. or run the test more than once it starts failing with the message below System.ApplicationException : For property 'Id' expected '1' of type 'System.Int32' but got '2' of type 'System.Int32'
I then create a DirectoryInfo object as I want to find some files in the directory.
DirectoryInfo updateDirectory = new DirectoryInfo(mappedPath);
But then updateDirectory.Exists is false?? I can take the string from the mappedPath and copy into Start->Run to get to the path so I know it exists. I am authenticating to the webservice using integrated windows authentication and have permissions to the necessary folders.
Is there something obvious I'm missing in the code? Or is this purely set-up and configuration of IIS etc.?
I am developing an application using c# and asp. It need to access some places in the local network . There is a text box in the form which accept the path to be accessed from the user and will store it to a string variable named location.The if loop always return false if the application run in windows 7. and it occurs only when I run from the installed application, otherwise it will return true if the path is true. Here is the code:
I am using the Directory.GetFiles method as follows:
[Code]....
As expected, it returns files with the ".pdf" extension. I would like to be able to specify more than one extension (like "*.doc*" and "*.txt*", etc.). How can I use GetFiles to return files with more than one desired extension, without returning all files?
I would like to check whether a folder exists or not if not create. I'm sure this folder exists, but for some reason I get "false" when I check with "Exists" method.
The only reason I think could be because of the W: drive? I moved this application to production site and even there it returns false.
while I'm type in Windows explorer on my localhost and on the server "W:/Webs/ASPPages/cropper/uploads" it opens this folder. So my localhost and IIS server has W: mapping.
for test I tried to create the folder then it says can't find the path...
userFolderName = @"W:/Webs/ASPPages/cropper/uploads" //I also tried @"W:WebsASPPagescropperuploads" //I also tried @"W:WebsASPPagescropperuploads" //I also tried "W:\Webs\ASPPages\cropper\uploads" DirectoryInfo dirInfo = new DirectoryInfo(userFolderName);........
I have a scenario which is there's a gridview with remove button and also a textbox.
Example:
The value of textbox is 2, and rows of gridview is 5 so the rows from 3-5 will be highlighted. And if the user removed the first row, the highlight should be follow. The highlighted row now is 3-4.
i am not able to show an alert message when a file is uploaded from a FileUpload control which is more than the size mentioned in web.config file like this in my situation...
Below is the code for "Upload" button when uploading any file:
if (contenttype != String.Empty) { if (File.Exists(Server.MapPath("~/Folder/'" + Txt.Text + "'/") + filename)) { LMsg.Visible = true; LMsg.ForeColor = Color.Red; LMsg.Text = "File name '" + filename + "' already exist. Please change the File name to save this file";
[Code] ....
File upload control allows maximum file size is 4MB. If file size increase to 4MB it shows error page like "the page can not displayed".
I want to increase the size of uploaded files to max 10 MB not more than that. If file size increase to 10MB, it should show message.
In timsplit i have value "17:00 - 2:00".Then i am converting it TimeIn and TimeOut.TimeIn is string now and how to convert it to int32.I am getting error while convertin Timesplit = strResultData.Split('-'); string TimeIn = Timesplit[0]; string TimeOut = Timesplit[1]; int TimeI = Int32.Parse(TimeIn);
Currently i using gridview to display a person informaton based on his login id however it show error because the session is set to ToString. Is it a way to convert the session to int32?
I am passing query string and the url is as follows-> http://localhost:1086/Web/EditMobile.aspx?sno=2. But when i try to enter the url as follows,localhost:1086/Web/EditMobile.aspx?sno=2*3424324423432424* , i get the following error->Value was either too large or too small for an Int32. How do i handle this error. I must get an error report like " the value is not found in the table or database"
I'm using a GridView control to edit data in a MySQL database.
I've created the C# code behind but I'm having trouble pulling back the parameter from a radiobutton control to populate an Int32 field in the database. I'm getting "Input string not in correct format"This is the particular bit (amongst a host of others of the same type) that is causing the problem:
I am not sure where my app is failing but most probably this is where it is failing.. I think lblExpID.Text is the culprit. Here's the relvant part of my code:
Dim lblExpID As Label For Each item In LSGrid.Rows lblExpID = item.FindControl("lblID") If txtExpGenFund.Text <> "" Then sqlArray(i) = ExpDetailsID & "," & (lblExpID.Text) & "," & MunID & "," & _ Val(txtExpGenFund.Text) & "," & Val(txtExpDetSpecialRevenue.Text) & "," & _ Val(txtExpDetCapitalProjects.Text) & "," & expTotal & "," & reportingYear & "," & "Test Comments" & "," & UserID End If
Can u help me identify why i am getting this error looking at the sp below:
PROCEDURE [dbo].[uspEXPENDITURE_DETAILS] ( @ExpDetailsID int=0 output, @ExpDet_ExpID int, @ExpDet_Municipality_ID nvarchar(50), @ExpDetGeneralFund money, @ExpDetSpecialRevenue money, @ExpDetCapitalProjects money, @ExpDetTotal money, @Exp_Reporting_Year varchar(10), @ExpComments varchar(max), @Contact_ID int ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
delete from [dbo].[TBL_EXPENDITURE_DETAILS] where ExpDet_ExpID=@ExpDet_ExpID and ExpDet_Municipality_ID=@ExpDet_Municipality_ID and Exp_Reporting_Year=@Exp_Reporting_Year
If @ExpDetailsID >= 0 Begin INSERT INTO [dbo].[TBL_EXPENDITURE_DETAILS] ([ExpDet_ExpID] ,[ExpDet_Municipality_ID] ,[ExpDetGeneralFund] ,[ExpDetSpecialRevenue] ,[ExpDetCapitalProjects] ,[ExpDetTotal] ,[Exp_Reporting_Year] ,[ExpComments] ,[ExpDetCreatedBy] ,[ExpDetCreateDate]) VALUES (@ExpDet_ExpID, @ExpDet_Municipality_ID, @ExpDetGeneralFund, @ExpDetSpecialRevenue, @ExpDetCapitalProjects, @ExpDetTotal, @Exp_Reporting_Year, @ExpComments, @Contact_ID, GetDate() ) SET @ExpDetailsID = SCOPE_IDENTITY() return @ExpDetailsID end
I have a master/detail scheme for editing an asp:GridView using an asp:DetailsView. One of my fields is for a phone number of type int64 (always 10 digits). I would like this field to always be displayed as (###)###-####. My issue is the first digit in the phone number is always truncated for my edit item field which I used a MaskedEditExtender to achieve the formatting.
When my details view is displayed for editing, the text box displays(_23)456-7890 for the integer 1234567890. Also worth noting that if the property MaskType="Number" is removed, the textbox shows:
(234)567-890_. I would of course have the textbox show (123)-546-67890 after binding.