Solved

c# browse directory

Posted on 2010-11-07
3
548 Views
Last Modified: 2012-05-10
the code below if i want user to input file name in

 string source = @"c:\song\sa.mp3";

by click bottom then it can browse and he can select file name how can i do that in  csharp


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string source = @"c:\song\sa.mp3";
            string dest = @"c:\song1\01sa.mp3";

            string destDir = Path.GetDirectoryName(dest);
            if (!Directory.Exists(destDir))
            {
                Directory.CreateDirectory(destDir);
            }

            File.Copy(source, dest, true);

        }
    }
}
0
Comment
Question by:teera
  • 2
3 Comments
 
LVL 33

Accepted Solution

by:
Todd Gerbert earned 333 total points
ID: 34081679
I'm not sure what your question is, but here's a simple example using an OpenFileDialog to select the file to be copied, and a FolderBrowserDialog to select the folder to copy it to.
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;



namespace WindowsFormsApplication1

{

	public partial class Form1 : Form

	{

		public Form1()

		{

			InitializeComponent();

		}



		private void SourceFileBrowseButton_Click(object sender, EventArgs e)

		{

			using (OpenFileDialog ofd = new OpenFileDialog())

			{

				ofd.Filter = "MP3 Files (*.mp3)|*.mp3|All Files (*.*)|*.*";

				ofd.FilterIndex = 1;

				ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);

				ofd.Title = "Select a file to copy...";

				ofd.ValidateNames = true;

				if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

					SourceFileTextBox.Text = ofd.FileName;

			}

		}



		private void DestinationFolderBrowseButton_Click(object sender, EventArgs e)

		{

			using (FolderBrowserDialog fbd = new FolderBrowserDialog())

			{

				fbd.RootFolder = Environment.SpecialFolder.MyComputer;

				fbd.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);

				if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

					DestinationFolderTextBox.Text = fbd.SelectedPath;

			}

		}



		private void CopyFileButton_Click(object sender, EventArgs e)

		{

			if (!File.Exists(SourceFileTextBox.Text))

			{

				MessageBox.Show("Source File Does Not Exist");

				return;

			}



			if (!Directory.Exists(DestinationFolderTextBox.Text))

			{

				MessageBox.Show("Destination Folder Does Not Exist");

				return;

			}



			string sourceFolder = Path.GetDirectoryName(SourceFileTextBox.Text);

			string sourceFile = Path.GetFileName(SourceFileTextBox.Text);

			string destinationPath = Path.Combine(DestinationFolderTextBox.Text, sourceFile);



			if (File.Exists(destinationPath))

				destinationPath = GetNumberedFileName(DestinationFolderTextBox.Text, sourceFile);



			File.Copy(SourceFileTextBox.Text, destinationPath);



			SourceFileTextBox.Text = String.Empty;

			DestinationFolderTextBox.Text = String.Empty;

		}



		private string GetNumberedFileName(string folder, string file)

		{

			string fileBase = Path.GetFileNameWithoutExtension(file);

			string extension = Path.GetExtension(file);



			for (int i = 2; i < 10000; i++)

			{

				string testFileName = String.Format(@"{0}\{1} ({2}){3}", folder, fileBase, i, extension);

				if (!File.Exists(testFileName))

					return testFileName;

			}

			return String.Empty;

		}

	}

}

Open in new window

0
 
LVL 8

Assisted Solution

by:Subrat (C++ windows/Linux)
Subrat (C++ windows/Linux) earned 167 total points
ID: 34083167
In your form
1. Create a textbox,  let's name: txtMP3
2. Create a button with name:btnSelectMP3, text: Select MP3 or something like this.
3. In the button handler(By Double clicking that button), write the code as described above to select the MP3 file...

Follow the same steps as described above, if needed.
0
 
LVL 33

Assisted Solution

by:Todd Gerbert
Todd Gerbert earned 333 total points
ID: 34083619
I thought it was obvious from the code example there are two text boxes, SourceFileTextBox and DestinationFolderTextBox, and three buttons, SourceFileBrowseButton, DestinationFolderBrowseButton and CopyFileButton.  The methods named ButtonName_Click() run when their respective buttons are clicked.
I did forget to mention that I included a method, GetNumberedFileName, which is not directly related to the question - if a file with the same name already exists in the destination this method will return a new file name such as sa (2).MP3, or sa (3).mp3.
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Article by: Ivo
Anonymous Types in C# by Ivo Stoykov Anonymous Types are useful when  we do not need to follow usual work-flow -- creating object of some type, assign some read-only values and then doing something with them. Instead we can encapsulate this read…
In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now