• java基础——IO流(慕课网)


    1、文件的编码

    public class EncodeDemo{

      String s = "慕课ABC";

      byte[] bytes1 = s.getBytes();  //字符串转换成byte数组

      for(byte b : bytes1){

        //把字节(转换成了int)以16进制的方式显示

        System.out.println(Integer.toHexString(b & 0xff)+" ");  //前24个0没用,只留下后八位 

        }

      byte[] bytes2 = s.getBytes("gbk");

      for(byte b : bytes2){

        //gbk编码中文占用两个字节,英文占用一个字节

        System.out.println(Integer.toHexString(b & 0xff)+" ");   

        }

      byte[] bytes3 = s.getBytes("utf-8");

      for(byte b : bytes3){

        //utf-8编码中文占用三个字节,英文占用一个字节

        System.out.println(Integer.toHexString(b & 0xff)+" ");   

        }

      

      //java是双字节编码utf-16be

      byte[] bytes4 = s.getBytes("utf-16be");

      for(byte b : bytes4){

        //utf-16be编码中文占用两个字节,英文占用两个字节

        System.out.println(Integer.toHexString(b & 0xff)+" ");   

        }

      //当你的字节序列某种编码时,这个时候想把字节序列变成字符串,也需要这种编码方式,否则会出现乱码

      String str1 = new String(bytes4);  //用项目默认编码

      System.out.println(str1);  //出现乱码

      String str2 = new String(bytes4,"utf-16be");  //括号中要的字节数组,要和编码一致

      System.out.println(str2;  //正常显示

      // 文本文件 就是字节序列,

      //可以是任意编码的字节序列,

      //如果我们在中文机器上直接创建文本文件,那么该文本文件 只认识 ANSI编码,直接粘贴过来的可以认识

      //但是文本文件本身是可以放置任何编码的文件的

    }

      结果显示:

          c4 bd   bf ce   41 42 43

        // 慕       课    A    B  C  中文两个字节,英文一个字节 

    2、File类的使用

      java.io.File类用于表示文件(目录)

      File类智能表示文件(目录)的信息(名称,大小等)不能用于文件内容的访问

      File基本API的操作

    public class FileDemo{

      public static void main(String[] args){

        File file  = new File("e:\javaio");

       // File file1 = new File("e:"+File.separator);

        System.out.println(file.exists);  //判断文件目录存不存在

        if(!file.exists()){

          file.mkdir();  //  创建一级目录(下面没有别的目录了)

          file.mkdirs();  //  创建多级目录(下面还有有别的目录了)

        }else{

          file.delete();   //删除目录

        }

        //是否是一个目录

        System.out.println(file.isDirectory());

        //是否是一个文件

        System.out.println(file.isFile());

        File file2 = new File("e:"+File.separator + "新建.txt");

        //File file2 = new File("e:","新建.txt");  //和上面的一样

        //判断文件是否存在

        if(!file2.exits())

          file2.createNewFile();  //如果不存在可以这样直接创建,会有异常产生

      

        //常用File对象的API

        System.out.println(file);  //打印的是file的目录,相当于file.toString();

        System.out.println(file.getAbsolutePath());  //获取file的抽象路径

        System.out.println(file.getName);  //如果是文件打印的是文件名,如果是目录打印的是目录最后的名字

        //得到父目录, file.getParent();返回的是String;

        //String [] strs = new File().list();  //list()方法当用户列出当前目录下的子目录和文件,返回的是字符串数组,直接子的名称,不包含子目录下的内容

        //File[]  files = new File().listFiles();  //返回的是直接子目录(文件)的抽象

      }

    }

        

  • 相关阅读:
    响应式开发: 宽高等比例缩放
    node服务成长之路
    node压力测试
    前端开发工具
    sequelize问题集锦
    webpack引入handlebars报错'You must pass a string or Handlebars AST to Handlebars.compile'
    夏夜无题
    jmeter在windows环境下系统参数设置
    服务端性能优化指南
    修车备忘
  • 原文地址:https://www.cnblogs.com/0914lx/p/6474019.html
Copyright © 2020-2023  润新知