当前位置: 首页 > news >正文

网站开发黄色片网站建设首页

网站开发黄色片,网站建设首页,高端网站建设询问磐石网络,h5生成小程序字符流练习 练习1:文件夹拷贝1.1 需求1.2 代码实现1.3 输出结果 练习2:文件加密与解密2.1 需求2.2 代码实现2.3 输出结果 练习3:修改文件数据(常规方法)3.1 需求3.2 代码实现3.3 输出结果 练习4:修改文件数…

字符流练习

    • 练习1:文件夹拷贝
      • 1.1 需求
      • 1.2 代码实现
      • 1.3 输出结果
    • 练习2:文件加密与解密
      • 2.1 需求
      • 2.2 代码实现
      • 2.3 输出结果
    • 练习3:修改文件数据(常规方法)
      • 3.1 需求
      • 3.2 代码实现
      • 3.3 输出结果
    • 练习4:修改文件数据(省略方法)
      • 4.1 需求
      • 4.2 代码实现
      • 4.3 输出结果

练习1:文件夹拷贝

1.1 需求

需求:拷贝一个文件夹,考虑子文件夹

  • 拷贝的文件夹:D:\QQ
  • 拷贝的位置:D:\File

1.2 代码实现

package text.IOStream.FileWrite.FileWrite02;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;/*拷贝
需求:拷贝一个文件夹,考虑子文件夹拷贝的文件夹:D:\QQ
拷贝的位置:D:\File*/
public class FileWrite02 {public static void main(String[] args) throws IOException {//创建数据源File startFile = new File("D:\\QQ");//创建目的地File endFile = new File("D:\\File");copy(startFile, endFile);}/** 作用:拷贝文件夹* 参数一:数据源* 参数二:目的地* */private static void copy(File startFile, File endFile) throws IOException {//先创建目的地文件(当目的地文件存在时,则创建失败)endFile.mkdir();//进入文件夹File[] files = startFile.listFiles();//遍历数组for (File file : files) {//判断该file是文件还是文件夹if (file.isFile()) {//如果是文件,则拷贝(拷贝用字节流)//创建字节输入流对象FileInputStream fis = new FileInputStream(startFile);//创建字节输出流对象//new File(endFile, startFile.getName())指得是新创建个文件对象//参数一:指要拷贝的目的地的文件//参数二:指要拷贝目的地文件的名字FileOutputStream fos = new FileOutputStream(new File(endFile, startFile.getName()));//创建了个字节数组,加快拷贝效率byte[] bytes = new byte[1024 * 1024 * 5];int b;//定义一个变量记录每次读取的数据的个数while ((b = fis.read()) != -1) {fos.write(bytes, 0, b);}//释放资源(先开的流后关)fos.close();fis.close();} else {//如果是文件夹,则递归copy(startFile, new File(endFile, startFile.getName()));}}}
}

1.3 输出结果

在这里插入图片描述

练习2:文件加密与解密

2.1 需求

为了保证文件的安全性,就需要对原始文件进行加密存储,再使用的时候再对其进行解密处理。

  • 加密原理:
    对原始文件中的每一个字节数据进行更改,然后将更改以后的数据存储到新的文件中。
  • 解密原理:
    读取加密之后的文件,按照加密的规则反向操作,变成原始文件。

^ : 异或
两边相同:false
两边不同:true

       0:false1:true100:110010010: 1010100与10异或:1100100^    1010__________1101110110与10异或:1101110^    1010__________1100100

2.2 代码实现


package text.IOStream.FileWrite.FileWrite03;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;/*文件加密
为了保证文件的安全性,就需要对原始文件进行加密存储,再使用的时候再对其进行解密处理。
加密原理:对原始文件中的每一个字节数据进行更改,然后将更改以后的数据存储到新的文件中。
解密原理:读取加密之后的文件,按照加密的规则反向操作,变成原始文件。^ : 异或两边相同:false两边不同:true0:false1:true100:110010010: 1010100与10异或:1100100^    1010__________1101110110与10异或:1101110^    1010__________1100100*/
public class FileWrite03 {public static void main(String[] args) throws IOException {//创建对象并关联原始文件FileInputStream fis1 = new FileInputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite03\\a.txt");//创建对象并关联加密文件FileOutputStream fos1 = new FileOutputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite03\\b.txt");//创建对象并关联加密文件FileInputStream fis2 = new FileInputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite03\\b.txt");//创建对象并关联解密文件FileOutputStream fos2 = new FileOutputStream("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite03\\c.txt");//加密ency(fis1, fos1);//解密redu(fis2, fos2);}//解密private static void redu(FileInputStream fis1, FileOutputStream fos2) throws IOException {int b;while ((b = fis1.read()) != -1) {fos2.write(b ^ 10);}//释放资源fos2.close();fis1.close();}//加密private static void ency(FileInputStream fis, FileOutputStream fos) throws IOException {int b;while ((b = fis.read()) != -1) {fos.write(b ^ 10);}//释放资源fos.close();fis.close();}
}

2.3 输出结果

  • 原来的文件:a.txt
    在这里插入图片描述
  • 加密后的文件:b.txt
    在这里插入图片描述
  • 解密后的文件:c.txt
    在这里插入图片描述

练习3:修改文件数据(常规方法)

3.1 需求

需求:

  • 文本文件中有的数据:

    2-1-9-4-7-8

  • 将文件中的数据进行排序,变成以下的数据;

    1-2-4-7-8-9

细节1:文件中的数据不要换行
细节2:文件可能有隐藏的bom头

3.2 代码实现

package text.IOStream.FileWrite.FileWrite04;import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;/*修改文件中的数据
需求:文本文件中有的数据:2-1-9-4-7-8将文件中的数据进行排序,变成以下的数据;1-2-4-7-8-9细节1:文件中的数据不要换行
细节2:文件可能有隐藏的bom头*/
public class FileWrite04 {public static void main(String[] args) throws IOException {//创建对象FileReader fr = new FileReader("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite04\\a.txt");//排序//创建StringBuilder对象用于存储数据StringBuilder sb = new StringBuilder();//创建变量记录读取的数据个数int b;while ((b = fr.read()) != -1) {sb.append((char) b);}fr.close();//将StringBuilder里的数据转换成字符串,方便截取String str = sb.toString();//截取字符串String[] split = str.split("-");//创建集合用于存储数字ArrayList<Integer> list = new ArrayList<>();//遍历数组,将数字存入集合for (String s : split) {int num = Integer.parseInt(s);list.add(num);}//排序集合里的数字Collections.sort(list);//写出FileWriter fw = new FileWriter("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite04\\a.txt");//遍历集合for (int i = 0; i < list.size(); i++) {if (i == list.size() - 1) {fw.write(list.get(i) + "");//加""的原因是防止写入字符对应的数字} else {fw.write(list.get(i) + "-");}}fw.close();}
}

3.3 输出结果

  • 原来文件数据
    在这里插入图片描述

  • 现在文件数据
    在这里插入图片描述

练习4:修改文件数据(省略方法)

4.1 需求

需求:

  • 文本文件中有的数据:

    2-1-9-4-7-8

  • 将文件中的数据进行排序,变成以下的数据;

    1-2-4-7-8-9

细节1:文件中的数据不要换行
细节2:文件可能有隐藏的bom头

4.2 代码实现

package text.IOStream.FileWrite.FileWrite05;import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.function.Function;/*修改文件中的数据
需求:
文本文件中有的数据:
2-1-9-4-7-8
将文件中的数据进行排序,变成以下的数据;
1-2-4-7-8-9细节1:文件中的数据不要换行
细节2:文件可能有隐藏的bom头
*/
public class FileWrite05 {public static void main(String[] args) throws IOException {//创建对象FileReader fr = new FileReader("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite05\\a.txt");//创建StringBuilder对象用于存储数据StringBuilder sb = new StringBuilder();//创建变量记录读取的数据个数int b;while ((b = fr.read()) != -1) {sb.append((char) b);}fr.close();//排序Integer[] array = Arrays.stream(sb.toString().split("-"))//Stream流将StringBuilder里的数据转换成字符串并分割字符串.map(new Function<String, Integer>() {@Overridepublic Integer apply(String s) {return Integer.parseInt(s);}})//格式转换.sorted()//排序.toArray(Integer[]::new);//利用方法引用转换成数组//写出FileWriter fw = new FileWriter("D:\\JavaCode\\code\\codeText01\\src\\text\\IOStream\\FileWrite\\FileWrite05\\a.txt");String replace = Arrays.toString(array).replace(", ", "-");//将排序后的数组中的 , 替换成 -String substring = replace.substring(1, replace.length() - 1); //截取字符串(截取第二个到倒数第二个)fw.write(substring);//写入数据fw.close();}
}

4.3 输出结果

  • 原来的文件数据
    在这里插入图片描述
  • 现在的文件数据
    在这里插入图片描述
http://www.hkea.cn/news/602801/

相关文章:

  • 设计类专业包括哪些kj6699的seo综合查询
  • 手机网站制作哪家好查关键词
  • 米拓企业网站管理系统电商培训机构排名前十
  • 做效果图有哪些网站seo点击排名
  • 网络营销推广网站收录seo推广排名平台有哪些
  • 产品经理如何看待网站开发广州软件系统开发seo推广
  • wordpress 忘记管理员如何做网站seo
  • app和网站哪个有优势淘宝关键词排名
  • wordpress该域名宁波网站seo公司
  • 建购物网站怎么建呀简单的网站建设
  • 江苏省建设教育协会网站首页百度知道合伙人答题兼职入口
  • 做优化的网站平台搭建
  • 做网站需要多久网络推广是什么专业
  • 厦门加盟网站建设线上推广营销
  • 定制网站案例seo搜索引擎优化薪酬
  • 网站制作成功后怎么使用浏览器观看b站视频的最佳设置
  • 一家专门做开网店的网站北京seo专员
  • 专业企业网站搭建服务头条权重查询
  • 去哪儿网站上做民宿需要材料免费的黄冈网站有哪些平台
  • 网站建设网现在推广什么app最挣钱
  • 嘉兴装修公司做网站安装百度到桌面
  • 电商网站特点外贸营销网站建站
  • 上海市住房城乡建设管理委员会网站网络营销软文范例大全800
  • 莱芜区政协网站做网络优化的公司排名
  • 太原网站建设开发公司电商运营基本知识
  • php做企业网站seo网站推广企业
  • 万网网站备案授权书免费发布推广信息的b2b
  • 乡镇可以做门户网站seo是什么意思职业
  • 建设银行网站优点做个公司网站大概多少钱
  • 网站标题的设置方法哪家建设公司网站