diff --git "a/\346\210\264\344\275\263\350\276\211/20230220-\346\226\207\344\273\266\346\265\201/file.js" "b/\346\210\264\344\275\263\350\276\211/20230220-\346\226\207\344\273\266\346\265\201/file.js" new file mode 100644 index 0000000000000000000000000000000000000000..63717dd0c5e51f31e34eaf4009654bf7568de36f --- /dev/null +++ "b/\346\210\264\344\275\263\350\276\211/20230220-\346\226\207\344\273\266\346\265\201/file.js" @@ -0,0 +1,50 @@ +//作业:使用open write close的形式去创建一个大文件, +// 内容从指定的文本中随机取一些(每次取得长度内容可以不一样), +// 计算出这个大文件出现最多的字符(要使用流的形式). +let fs = require("fs"); + +var str = "qwertyuiopasdfghjklzxcvbnm"; + +let fd = fs.openSync("./zuoye.txt","a"); +for(let i = 0;i<1000;i++){ + var str11 = suiJi(Math.ceil(Math.random()*str.length));//ceil向上取整 + fs.writeFileSync(fd,str11); +} +fs.closeSync(fd); + +var rs = fs.createReadStream("./zuoye.txt",'utf-8'); +var max=0; +var char=""; +var o={}; +rs.on('data',function(chunk){ + for(var k=0;kmax){ + max=o[key]; + char=key; + } + } + console.log("该大文件的内容为:"+chunk); +}) + +rs.on('end',function(){ + console.log("该大文件出现最多的字符为:"+char+",次数为:"+max+"次"); +}) + + +///随机获取n个字符 +function suiJi(n){ + var str1 = ""; + for(let j=0;j