==========================================================================================

C#

==========================================================================================


<C#>



=스레드 동기화





-cf)mutex object - 스레드 동시 접근 불가능



-lock 사용






-lock 사용 X






==파일













=스트림

-메모리에서 하드디스크로 데이터를 옮길 때 스트림을 만들어 둘 사이를 연결한 뒤 메모리의 데이터를 바이트 단위로 하드디스크로 옮김.


-Wrapper class(어떤 언어로 해야할지 정할수 있음)


=

using System;
using System.IO;

namespace FILE01_directoryinfo
{
    
class Program
    {
        
static void Main(string[] args)
        {
            DirectoryInfo dinfo 
= new DirectoryInfo(@"C:\TC\LIB");
            
if (dinfo.Exists)
            {
                Console.WriteLine(
"전체 경로      : {0}", dinfo.FullName);
                Console.WriteLine(
"디렉토리 이름  : {0}", dinfo.Name);
                Console.WriteLine(
"생성일         : {0}", dinfo.CreationTime);
                Console.WriteLine(
"디렉토리 속성  : {0}", dinfo.Attributes);
                Console.WriteLine(
"루트 경로      : {0}", dinfo.Root);
                Console.WriteLine(
"부모 디렉토리  : {0}", dinfo.Parent);
            }
            
else
            {
                Console.WriteLine(
"디렉토리가 존재하지 않습니다");
            }
            Console.ReadLine();
        }
    }
}







=

using System;
using System.IO;

namespace FILE02_fileinfo
{
    
class Program
    {
        
static void Main(string[] args)
        {
            FileInfo finfo 
= new FileInfo(@"C:\TC\LIB\CC.LIB");
            
if (finfo.Exists)
            {
                Console.WriteLine(
"폴더 이름      : {0}", finfo.Directory);
                Console.WriteLine(
"파일 이름      : {0}", finfo.Name);
                Console.WriteLine(
"확장자         : {0}", finfo.Extension);
                Console.WriteLine(
"생성일         : {0}", finfo.CreationTime);
                Console.WriteLine(
"파일 크기      : {0}", finfo.Length);
                Console.WriteLine(
"파일 속성      : {0}", finfo.Attributes);
            }
            
else
            {
                Console.WriteLine(
"파일이 존재하지 않습니다");
            }
        }
    }
}







=

using System;
using System.IO;

namespace FILE03_drectory_fileinfo
{
    
class Program
    {
        
static void Main(string[] args)
        {
            
if(args.Length < 1)
            {
                Console.WriteLine(
"사용법 : FileExam3.exe [디렉토리 경로]");
                
return;
            }
            DirectoryInfo dinfo 
= new DirectoryInfo(args[0]);
            
if(dinfo.Exists)
            {
                DirectoryInfo[] dir 
= dinfo.GetDirectories()// 하위디렉토리 파일 정보 출력
                foreach(DirectoryInfo d in dir)
                {
                    FileInfo[] files 
= d.GetFiles();
                    Console.WriteLine(
"디렉토리 : {0}, 포함된 파일 수: {1}", d.FullName, files.Length);

                    
int index = 0;
                    foreach(FileInfo f in files)
                    {
                        string str 
= string.Format("[{0}] : Name:{1}, Ext:{2}, Size:{3},                                                                                        ++index, f.Name, f.Extension, f.Length);
                        Console.WriteLine(str);
                    }
                }
            }
        }
    }
}


=C#매개변수










=

using System;
using System.IO;
using System.Linq;

namespace FILE05_dir_fileinfo
{
    
class Program
    {
        
static void Main(string[] args)
        {
            string directory;
            
if (args.Length < 1)
                directory 
= ".";
            
else
                directory = args[0];

            Console.WriteLine(
"{0} drectory Info", directory);
            Console.WriteLine(
"= Directoris :");
            var directories 
= (from dir in Directory.GetDirectories(directory)
            let info 
= new DirectoryInfo(directory)
            select 
new
            {
                Name 
= info.Name,
                Attributes 
=
 info.Attributes
            }).ToList();

            foreach (var d in directories)
                Console.WriteLine(
"{0} : {1}", d.Name, d.Attributes);

            Console.WriteLine(
"- Files :");
            var files 
= (from files in Directory.GetFiles(directory)
                         let info 
= new FileInfo(file)
                         select 
new
                         {
                             Name 
= info.Name,
                             FileSize 
= info.Length,
                             Attributes 
=
 info.Attributes,
                         }).ToList();

            foreach (var f in files)
                Console.WriteLine(
"{0} : {1}, {2}",
                    f.Name, f.FileSize, f.Attributes);
        }
    }
}







=

using System;
using System.IO;
using System.Linq;

namespace FILE05_dir_fileinfo
{
    
class Program
    {
        
static void Main(string[] args)
        {
            string directory;
            
if (args.Length < 1)
                directory 
= ".";
            
else
                directory = args[0];

            Console.WriteLine(
"{0} drectory Info", directory);
            Console.WriteLine(
"= Directoris :");
            var directories 
= (from dir in Directory.GetDirectories(directory)
                        let info 
= new DirectoryInfo(dir)
                        select 
new
                        {
                            Name 
= info.Name,
                            Attributes 
=
 info.Attributes
                        }).ToList();


            foreach (var d in directories)
                Console.WriteLine(
"{0} : {1}", d.Name, d.Attributes);

            Console.WriteLine(
"- Files :");
            var files 
= (from file in Directory.GetFiles(directory)
                         let info 
= new FileInfo(file)
                         select 
new
                         {
                             Name 
= info.Name,
                             FileSize 
= info.Length,
                             Attributes 
=
 info.Attributes,
                         }).ToList();

            foreach (var f in files)
                Console.WriteLine(
"{0} : {1}, {2}",
                    f.Name, f.FileSize, f.Attributes);
        }
    }
}




=Create file / directory


-test.dat





-




-test Directory






=

http://www.codeproject.com/Articles/33786/DataGridView-Filter-Popup




http://www.codeproject.com/Articles/51889/Summary-DataGridView


http://www.codeproject.com/Articles/19735/DataGridView-with-Detail-Edit-Form-VS


'2015 스마트 콘트롤러 > 업무일지' 카테고리의 다른 글

20150707  (0) 2015.07.08
20150706  (0) 2015.07.07
20150701  (0) 2015.07.02
20150630  (0) 2015.06.30
2015029  (0) 2015.06.30
Posted by ahj333
,