java IO 输入输出流

    xiaoxiao2021-03-25  89

    最近观看了关于java 输入输出流的视频,在此做一下总结:

    1、在我们平常使用的window电脑中,编码格式是ANSI,如果创建一个文本文件设置为UTF-8格式,中文会造成乱码;

    2、将字符串转换为字节序列,利用的是默认的编码,一般是gbk

    String s="我是lyt"; byte[] bytes=s.getBytes();

    3、把字节转换为int 以16进制表示:可以用方法

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

    4、常见编码中英文占用字节数

    gbk编码—-中文占2个字节,英文占用1个字节 utf-8编码—中文占3个字节,英文占用1个字节 java是双字节编码,java一个字符占两个字节,使用utf-16be utf-16be —-中文占2个字节,英文占用2个字节

    因此当字节序列是某种编码时,转换为字符串的时候也要用这种编码格式,否则会出现乱码, byte数组如果是utf-8编码,那么转换为字符串时也要用utf-8编码

    String str=new String(byte,"utf-8");

    5、文本文件就是字节序列,可以是任意编码的字节序列; 如果在中文机器上,直接创建文本文件,只能放ANSI; 联、联通这两个词乱码纯属巧合,因为它们正好符合了utf-8编码规则。

    6、java.io.file类用于表示文件或目录

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

    File file=new File("e:\\java\\io"); //创建file对象 file.exists(); //判断目录是否存在 if(!file.exists()){ //如果目录不存在 file.mkdir(); //创建目录 如果创建多级目录 file.mkdirs(); } else{ file.delete(); //删除目录 } file.isDirectory();//判断是否是一个目录 file.isFile();//判断是否是一个文件

    7、 判断文件是否存在,不存在创建文件,存在删除文件,代码如下:

    public class FileTest { public static void main(String[] args) { File file2= new File("E:\\java\\io\\a.txt");//方式1 File file3=new File("E:\\java\\io","a.txt");//方式2 if(!file2.exists()){ try { file2.createNewFile(); //此处有异常 捕捉一下 } catch (IOException e) { e.printStackTrace(); } } else{ file2.delete(); } } }

    8、列出常用操作,过滤、遍历

    public class FileUtils { /** * 列出指定目录下的(包括子目录的)所有文件 * @param dir * @throws IOException */ public static void listDirectory(File dir) throws IOException{ if(!dir.exists()){ throw new IllegalArgumentException("目录"+dir+"不存在"); } if(!dir.isDirectory()){ throw new IllegalArgumentException(dir+"不是目录"); } // String[] fileNames=dir.list(); //返回的是字符串数组,只是子目录的名称,不包含子目录下的文件 // for(String s:fileNames){ // System.out.println(dir+"\\"+s); // } //如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了直接返回File对象的APi File[] files=dir.listFiles();//返回的是直接子目录的抽象 // for(File file:files){ // System.out.println(file); // } if(files!=null&&files.length>0){ for(File file:files) if(file.isDirectory()){ listDirectory(file); //递归 } else{ System.out.println(file); } } } } public class FileTest { public static void main(String[] args) throws IOException{ FileUtils.listDirectory(new File("D:\\JiaKaoBaoDian")); } }
    转载请注明原文地址: https://ju.6miu.com/read-21781.html

    最新回复(0)