###課題
ファイルの中身を取得し,そのファイルの中の文字数を数える.
###躓いている問題
ファイルの中身は取得できるが(String(16)で取得する仕様.),文字数を数えることができない.
###試したこと,結果
①.txt*ファイルを使用(中身は"orion"とだけ書かれています.)
②このファイルを,下記コードで読む.
③文字数が10文字と出てくることを期待するが,0文字と出てきた.
,とこんな感じでした.
JavaScript
1<body> 2 <input type="file" id="targetFile" multiple="multiple" accept=".txt*"> 3 <form name="test"> 4 <textarea name="txt" rows="10" clos="50" readonly id = "text1"></textarea><br> 5 </form> 6 7<script = "text/javascript"> 8 document.getElementById("text1").style.display = "none"; 9 function getFile(){ 10 var myFile = document.getElementById("targetFile") 11 var reader = new FileReader(); 12 13 reader.onload = function(evt){ 14 var allData = evt.target.result;//ファイル内容を格納する変数 15 var str = ""; 16 for(var i=0;i<allData.length;i++){ 17 var s = allData.charCodeAt(i).toString(16);//16進数で表示 18 19 if(s.length == 1){ 20 s="0"+s;//桁数を二桁にそろえる 21 } 22 if(i%16==15){ 23 bin += s+"<br>";//16個目で改行 24 }else{ 25 bin += s; 26 } 27 } 28 document.test.txt.value = str; 29 } 30 reader.readAsBinaryString(myFile);//ファイル内容をバイナリ文字列として返す 31 } 32 </script> 33 <input type = "button" value = "文字数は" onclick = "alert(test.txt.value.length + '文字です。')"> 34</body>
###聞きたいこと
htmlファイルを開き,出てくる画面のデザインはこの(テキストエリアが隠れた)ままで,ファイルの中身のデータを数えるにはどのようにしたらよいのでしょうか.
使用する言語はJavaScriptのみです.
以上,ご教示の程よろしくお願いします.
###追記
今回知りたいことは読み込んだファイルから文字数を数える方法・手順です.(この場はテキスト・バイナリにこだわらず,それぞれ応用していきたいと思います.)
回答1件
あなたの回答
tips
プレビュー