2012-02-23 5 views
1

JavaScript를 사용하여 텍스트 파일을 읽거나 쓰는 방법에 대한 샘플 코드가 있습니다.자바 스크립트를 사용하여 텍스트 파일을 읽고 쓰는 방법은 무엇입니까?

iframe을 만들고 iframe에서 텍스트 파일을로드하는 것과 같습니다. 내용을 읽고 문자열 연산을 사용합니다. 약간의 변경을하고, 나는 텍스트 파일에 다시 쓰는 방법을 모른다. 또한 브라우저에서이 코드가 작동하지 않습니다.

내 text.txt 파일

는 IE에서

<html> 

<head> 
    <title></title> 
</head> 

<body> 
<script language="JavaScript" type="text/javascript"> 
<!-- 


var srcFrame; 

function loadOuter(doc) { 
srcFrame = document.getElementById("hiddenContent"); 
srcFrame.src = doc; 



transferHTML(); 

} 

function transferHTML(){ 
srcContent=''; 
if (srcFrame.contentDocument){ 
alert("document"); 
    srcContent=srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML; 
} 
else if (srcFrame.contentWindow){ 
    alert("window"); 
    srcContent=srcFrame.contentWindow.document.body.innerHTML; 
} 

srcContent.length; 
alert(" before push "+srcContent); 
var arrayText="Last Line"; 
var lines = srcContent.split('\n'); 
lines=lines.slice(0, -1); 
lines.push(arrayText,"</pre>"); 
lines = lines.join('\n'); 
srcContent=lines; 
alert(srcContent); 
document.getElementById("outerDisplay").innerHTML = srcContent; 
} 

</script> 

<INPUT TYPE="button" VALUE="Test.txt" onClick="loadOuter('Test.txt')" > 

<div id="outerDisplay"></div> 

<iframe id="hiddenContent" width="200" height="200" style="position:absolute;visibility:hidden;" ></iframe> 

</body> 

</html> 
+1

에 설명되어 있습니다. 그것은 수년 전에 막혔던 격렬한 보안 구멍이었습니다. –

+0

** JS 실행 위치 ** 브라우저에서? ** 파일은 어디에 있습니까? ** 사용자 시스템에서? HTTP 서버에서? ** HTML 문서는 어디에 있습니까 ** (있는 경우) **? ** 파일과 같은 위치에 있습니까? 다른 서버에 있습니까? – Quentin

+0

현재 모든 것이 로컬 시스템에 있습니다. –

답변

1

첫 번째 줄 두 번째 라인 세 번째 줄 네 번째 줄이 ActiveXObject와 HTA를 사용 가능하다이 포함되어 있습니다. 그러나 이들은 WEB가 아닌 지역 전용을 사용하는 것이 좋습니다. 파일 작업에 대한 http://msdn.microsoft.com/en-us/library/ms536471%28v=vs.85%29.aspx

더 많은 정보 : 봐 http://msdn.microsoft.com/en-us/library/bstcxhf7%28v=vs.84%29.aspx

기본 기능 아래 :

ActiveXObject 정의 :

fso=new ActiveXObject('Scripting.FileSystemObject'); 

읽기 파일 :

iStream=fso.OpenTextFile('filePath',1,false); 
iStream.ReadAll(); 
/* or looped iStream.ReadLine() */ 
iStream.Close(); 

쓰기 파일 :

oStream=fso.OpenTextFile('filePath',2,true); 
oStream.WriteLine(/*your_data*/);// This usually is looped according to your data 
oStream.Close(); 

fso -object는 일반 HTM 페이지에서도 사용할 수 있지만 ActiveXObject의 사용을 자주 수락해야합니다. 로컬 파일 시스템에 대해 얘기하는 경우

+0

즉 브라우저의 경우 완벽한 솔루션입니다. –

관련 문제