是否可以像txt文件一样读取cpp文件?

时间:2013-10-04 15:18:31

标签: javascript c++

我正在开发一个基于Web的类似C ++ IDE的项目。我想添加一个打开按钮,用户不仅可以打开文本文件(使用它完成),还可以打开.cpp文件。那有可能吗?

这是打开.txt文件并附加到我的contenteditable div的代码。

function readSingleFile(evt) {

      var f = evt.target.files[0];
      //console.log(f);
      if (!f) {
          alert("Failed to load file");
          return;
      }
      if (f.name.indexOf('.txt') == -1) {
          alert(f.name + " is not a valid text file.");
          return;
      }

      var r = new FileReader();
      r.onload = function (e) {
          var contents = e.target.result; //.replace("\r\n","<br/>");
          contents = contents.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
          alert("Got the file.n" + "name: " + f.name + "n" + "type: " + f.type + "n" + "size: " + f.size + " bytesn" + "contents: " + contents);


          var tmpSent = "";
          var newContents = "";
          for (var i = 0; i < contents.length; i++) {
              if(contents.charAt(i) == '\n') {
                  newContents += "<div>"+tmpSent+"</div>";
                  tmpSent = "";
              }
              else
                  tmpSent += contents.charAt(i);
          };
          if(tmpSent.length>0)
                  newContents += "<div>"+tmpSent+"</div>";

          console.log(newContents);
          document.getElementById('board').innerHTML = newContents;
      }
      r.readAsText(f);

  }

  document.getElementById('fileinput').addEventListener('change', readSingleFile, false);

http://jsfiddle.net/88vtR/33/

1 个答案:

答案 0 :(得分:1)

查看显示的代码,我看到它只强制打开.txt文件

  if (f.name.indexOf('.txt') == -1) {
      alert(f.name + " is not a valid text file.");
      return;
  }

如果你想保持相同的方法,我会在其中添加一个.cpp的支票。

不确定涉及的其他代码,但我会使用一个打开的文件对话框,只允许你想要的文件扩展名,这将使上述检查变得多余。