javascript 로컬 파일 및 디렉터리 읽기 방법 상세 정보

JavaScript는 웹 제작 과정에서 빠질 수 없는 스크립트 언어로 웹 페이지의 내용에 의존해야만 생동감 있고 생기발랄하며 생기발랄하다.그러나 아마도 너는 아직 그것의 더 높은 기능을 발견하고 응용하지 못했을 것이다.예를 들어 파일과 폴더를 읽기, 쓰기, 삭제하는 것은 VB, VC 등 고급 언어에서 자주 하는 일과 같다.어때, 너는 이 방면의 지식을 알아야 하니?그럼 따라오세요. 본고는 자바스크립트 언어를 사용하여 파일 조작을 하는 방법을 상세하게 설명할 것입니다.
1. 기능 구현의 핵심: FileSystemObject 객체
사실 자바스크립트에서 파일 조작 기능을 실현하려면 주로 FileSystemobject 대상에 의존해야 한다.FileSystemobject 객체의 각 속성과 방법의 사용 세부 사항을 자세히 설명하기 전에 이 객체에 포함된 관련 객체와 컬렉션을 살펴보십시오.
2. FileSystemObject 프로그래밍 3부작
FileSystemObject 대상을 사용하여 프로그래밍하는 것은 매우 간단하다. 일반적으로 다음과 같은 절차를 거쳐야 한다. FileSystemObject 대상을 만들고, 관련 방법을 적용하고, 대상 관련 속성에 접근하는 것이다.
(1) FileSystemObject 객체 만들기
FileSystemObject 객체를 만드는 코드는 1행입니다.

var fso = new ActiveXObject(“Scripting.FileSystemObject”);
위의 코드가 실행되면 fso는 FileSystemObject 대상의 실례가 됩니다.
(2) 관련 방법 적용
대상의 실례를 만들면 대상의 관련 방법을 사용할 수 있습니다.예를 들어, CreateTextFile 메서드를 사용하여 텍스트 파일을 만듭니다.

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.createtextfile(“c://myjstest.txt”,true”);
(3) 객체 관련 속성 액세스
대상의 관련 속성에 접근하려면 먼저 대상을 가리키는 핸들을 만들어야 한다. 이것은 get 시리즈 방법을 통해 이루어져야 한다. GetDrive는 드라이브 정보를 가져오고, GetFolder는 폴더 정보를 가져오고, GetFile은 파일 정보를 얻는다.예를 들어 아래의 코드를 가리키면 f1은 파일 c:/test를 가리킨다.txt 핸들:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.GetFile(“c://myjstest.txt”);
그리고 f1을 사용하여 대상의 관련 속성에 접근합니다.예:

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.GetFile(“c://myjstest.txt”);

alert(“File last modified: ” + f1.DateLastModified);
위의 마지막 문장을 실행하면 c:/myjstest가 표시됩니다.txt의 마지막 수정 날짜 속성 값입니다.
그러나 한 가지 주의: create 방법으로 만든 대상에 대해서는 get 방법으로 대상 핸들을 가져올 필요가 없습니다. 이 때 직접create 방법으로 만든 핸들 이름을 사용하면 됩니다.

var fso = new ActiveXObject(“Scripting.FileSystemObject”);

var f1 = fso.createtextfile(“c://myjstest.txt”,true”);

alert(“File last modified: ” + f1.DateLastModified);
3. 드라이브 조작(Drives)
FileSystemObject 대상을 사용하여 드라이브(Drives)와 폴더(Folders)를 프로그래밍하는 것은 매우 쉽다. 이것은 Windows 파일 브라우저에서 파일을 상호작용하는 것과 같다. 예를 들어 폴더를 복사하고 이동하며 폴더의 속성을 얻는 것이다.
(1) Drives 객체 속성
드라이브 객체는 다음과 같은 속성을 가진 시스템의 물리적 또는 논리적 드라이브 리소스 컨텐트를 수집합니다.
l TotalSize: 바이트(byte) 단위로 계산된 드라이브 크기입니다.
l AvailableSpace 또는 FreeSpace: 바이트(byte) 단위로 계산된 드라이브의 사용 가능한 공간입니다.
l DriveLetter: 드라이브 문자.
l DriveType: 드라이브 유형, 값은removable(이동 미디어),fixed(고정 미디어),network(네트워크 자원),CD-ROM 또는 RAM 디스크입니다.
l SerialNumber: 드라이브의 일련 코드입니다.
l FileSystem: FAT, FAT32 및 NTFS 값을 갖는 드라이브의 파일 시스템 유형입니다.
l IsReady: 드라이브를 사용할 수 있는지 여부입니다.
l ShareName: 공유 이름입니다.
l VolumeName: 볼륨 이름입니다.
l Path 및 RootFolder: 드라이브의 경로 또는 루트 이름입니다.
(2) 드라이브 개체 작업 절차
다음 절차는 드라이브 C의 볼륨, 총 용량 및 사용 가능한 공간 등의 정보를 보여 줍니다.

var fso, drv, s =”“;
fso = new ActiveXObject(“Scripting.FileSystemObject”);
drv = fso.GetDrive(fso.GetDriveName(“c://”));
s += “Drive C:” + ” - “;
s += drv.VolumeName + “/n”;
s += “Total Space: ” + drv.TotalSize / 1024;
s += ” Kb” + “/n”;
s += “Free Space: ” + drv.FreeSpace / 1024;
s += ” Kb” + “/n”;
alert(s);
넷째, 작업 폴더(Folders)
폴더와 관련된 작업은 창설, 이동, 삭제, 관련 속성 얻기를 포함한다.
(1) Folder 객체에 대한 속성 및 메소드 목록
(2) Folder 객체 작업 루틴
다음 루틴에서는 부모 폴더 이름 가져오기, 폴더 만들기, 폴더 삭제, 루트 디렉터리 여부 판단 등의 작업을 연습합니다.

var fso, fldr, s = “”;

//  FileSystemObject 
fso = new ActiveXObject(“Scripting.FileSystemObject”);

//  Drive  
fldr = fso.GetFolder(“c://”);

//  
alert(“Parent folder name is: ” + fldr + “/n”);

//  drive 
alert(“Contained on drive ” + fldr.Drive + “/n”);

//  
if (fldr.IsRootFolder)
alert(“This is the root folder.”);
else
alert(“This folder isn't a root folder.”);
alert(“/n/n”);

//  
fso.CreateFolder (“C://Bogus”);
alert(“Created folder C://Bogus” + “/n”);

//  , 
alert(“Basename = ” + fso.GetBaseName(“c://bogus”) + “/n”);

//  
fso.DeleteFolder (“C://Bogus”);
alert(“Deleted folder C://Bogus” + “/n”);

5. 작업 파일(Files)
파일에 대한 작업은 위에서 설명한 드라이브(Drive)와 폴더(Folder) 작업보다 복잡합니다. 기본적으로 파일의 생성, 복사, 이동, 삭제 작업과 파일 내용의 생성, 추가, 삭제, 읽기 작업으로 나뉩니다.다음은 각각 상세하게 소개한다.
(1) 파일 만들기
모두 세 가지 방법으로 빈 텍스트 파일을 만들 수 있습니다. 이 파일은 때때로 텍스트 흐름 (textstream) 이라고도 합니다.
첫 번째는 CreateTextFile 메서드를 사용하는 것입니다.코드는 다음과 같습니다.

var fso, f1;
fso = new ActiveXObject(“Scripting.FileSystemObject”);
f1 = fso.CreateTextFile(“c://testfile.txt”, true);

두 번째는 OpenTextFile 방법을 사용하고 ForWriting 속성을 추가하는 것입니다. ForWriting의 값은 2입니다.코드는 다음과 같습니다.

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject(“Scripting.FileSystemObject”);
ts = fso.OpenTextFile(“c://test.txt”, ForWriting, true);

세 번째는 OpenAsTextStream 메서드를 사용하여 ForWriting 속성을 설정하는 것입니다.코드는 다음과 같습니다.

var fso, f1, ts;
 var ForWriting = 2;
 fso = new ActiveXObject(“Scripting.FileSystemObject”);
 fso.CreateTextFile (“c://test1.txt”);
 f1 = fso.GetFile(“c://test1.txt”);
 ts = f1.OpenAsTextStream(ForWriting, true);
(2) 파일에 데이터 추가
파일이 생성되면 일반적으로 파일 열기 -> 데이터 작성 -> 파일 닫기 절차에 따라 파일에 데이터를 추가하는 데 사용됩니다.
파일을 열면 FileSystemObject 객체의 OpenTextFile 메서드를 사용하거나 File 객체의 OpenAstextStream 메서드를 사용합니다.
TextStream 객체에 사용할 데이터를 작성하는 Write, WriteLine 또는 WriteBlankLines 방법같은 데이터 쓰기 기능에서 이 세 가지 차이점은 Write 방법은 데이터 쓰기 끝에 새 줄 바꿈 문자를 추가하지 않고, Write Line 방법은 마지막에 새 줄 바꿈 문자를 추가하고, Write Blank Lines는 하나 이상의 빈 줄을 추가한다는 것이다.
파일을 닫으면 TextStream 객체의 Close 메서드를 사용할 수 있습니다.
(3) 파일 생성 및 데이터 추가 루틴
다음 코드는 파일을 만들고, 데이터를 추가하고, 파일을 닫는 몇 가지 절차를 결합하여 적용됩니다.

var fso, tf;
 fso = new ActiveXObject(“Scripting.FileSystemObject”);
 //  
 tf = fso.CreateTextFile(“c://testfile.txt”, true);
 //  , 
 tf.WriteLine(“Testing 1, 2, 3.”) ;
 //  3 
 tf.WriteBlankLines(3);
 //  , 
 tf.Write (“This is a test.”);
 //  
 tf.Close();
(4) 파일 내용 읽기
텍스트 파일에서 데이터를 읽으려면 TextStream 객체의 Read, ReadLine 또는 ReadAll 메서드를 사용합니다.읽기 방법은 파일에 지정된 숫자의 문자를 읽는 데 사용됩니다.ReadLine 방법은 줄 전체를 읽지만 줄 바꿈은 포함되지 않습니다.ReadAll 메서드는 텍스트 파일의 전체 내용을 읽습니다.읽은 내용은 문자열 변수에 저장되어 표시, 분석에 사용됩니다.Read 또는 ReadLine 방법으로 파일 내용을 읽을 때 일부 부분을 건너뛰려면 Skip 또는 SkipLine 방법을 사용하십시오.
다음 코드 데모는 파일을 열고 데이터를 작성한 다음 데이터를 읽는 것입니다.

var fso, f1, ts, s;
 var ForReading = 1;
 fso = new ActiveXObject(“Scripting.FileSystemObject”);
 //  
 f1 = fso.CreateTextFile(“c://testfile.txt”, true);
 //  
 f1.WriteLine(“Hello World”);
 f1.WriteBlankLines(1);
 //  
 f1.Close();
 //  
 ts = fso.OpenTextFile(“c://testfile.txt”, ForReading);
 //  
 s = ts.ReadLine();
 //  
 alert(“File contents = ‘” + s + “‘”);
 //  
 ts.Close();
 
(5) 파일 이동, 복사 및 삭제
위의 세 가지 파일 작업에 대해 자바스크립트는 각각 두 가지 대응하는 방법이 있다. 바로 File이다.Move 또는 FileSystemObject.파일 이동을 위한 MoveFileFile.Copy 또는 FileSystemObject.CopyFile은 파일을 복사하는 데 사용됩니다.File.Delete 또는 FileSystemObject.DeleteFile 은 파일을 삭제하는 데 사용됩니다.
다음 코드는 드라이브 C의 루트 디렉터리에 텍스트 파일을 만들고 내용을 작성한 다음 파일을/tmp 디렉터리로 이동한 다음 디렉터리/temp 아래에 파일 복사본을 만들고 이 두 디렉터리의 파일을 삭제하는 것을 보여 줍니다.

var fso, f1, f2, s;
 fso = new ActiveXObject(“Scripting.FileSystemObject”);
 f1 = fso.CreateTextFile(“c://testfile.txt”, true);
 //  
 f1.Write(“This is a test.”);
 //  
 f1.Close();
 //  C:/ 
 f2 = fso.GetFile(“c://testfile.txt”);
 //  /tmp 
 f2.Move (“c://tmp//testfile.txt”);
 //  /temp 
 f2.Copy (“c://temp//testfile.txt”);
 //  
 f2 = fso.GetFile(“c://tmp//testfile.txt”);
 f3 = fso.GetFile(“c://temp//testfile.txt”);
 //  
 f2.Delete();
 f3.Delete();
 
6. 결어
이상의 FileSystemObject의 각종 대상, 속성과 방법에 대한 소개와 예시를 통해 자바스크립트 언어를 사용하여 페이지에서 드라이브, 파일, 폴더를 조작하는 방법에 대해 명확한 인식을 가지게 되었다고 믿습니다.그러나 상술한 예는 모두 매우 간단하고 전면적이고 유연하게 자바스크립트 파일 조작 기술을 파악하려면 대량의 실천 연습이 필요하다.그리고 브라우저에서 파일 읽기와 쓰기를 하는 고급 작업과 관련되기 때문에 기본적인 브라우저 보안 단계에서 코드가 실행되기 전에 정보 알림이 있을 수 있음을 알려드립니다.
자바스크립트가 로컬 파일과 디렉터리를 읽는 방법에 대한 자세한 설명은 여기 있습니다. 더 많은 자바스크립트가 로컬 파일과 디렉터리 내용을 읽을 수 있습니다. 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기