JAVA-IO流使用记录

IO描述

I ->Input 输入流
O->Out Stream 输出流
应用程序吧数据送出去为输出流
吧数据送到应用程序叫输入流

常用类型

在这里插入图片描述

File

  • 一个File对象就是一个文件或者目录(文件夹)
  • 名字分隔符
    • 在UNIX,Linux,Mac系统中: 正斜杠(/)
    • 在window系统 反斜杠 ()
  • 路径分隔符
    • 在UNIX,Linux,Mac系统中: 冒号 ( : )
    • 在windows系统中,分号 ( ; )
  • 在windows系统中,mac系统中文件名,目录名不区分大小写
  • 在UNIX,Linux系统中,文件名,目录名区分大小写

使用方法

获取实例对象代表的文件名字(包含文件后缀)
public String getName()
获取实例对象代表的文件上级目录
public String getParent()
获取实例对象的父项的实例对象
public File getParentFile()
获取实例对象代表的文件的实际路径
public String getPath()
检测该实例对象代表的文件的路径是否是绝对路径
public boolean isAbsolute()
获取实例对象代表的文件的绝对路径
public String getAbsolutePath()
实例对象代表的文件是否存在
public boolean exists()
检测实例对象代表的是否是文件
public boolean isFile()
检测实例对象代表的是否是目录
public boolean isDirectory()
创建新文件
public boolean createNewFile()
删除实例对象代表的文件或目录,当代表目录时,必须目录下为空才可以删除
public boolean delete()
根据实例对象的路径名创建目录(若目录已存在,则false;若路径是文件,则fasle;若路径的上级目录不存在则false)
public boolean mkdir()
根据实例对象的路径创建目录,包括创建那些必须的且不存在的父级目录
public boolean mkdirs()
获取实例对象代表的文件下的各级文件名和目录名,返回一个字符串数组
public String[] list()

 File file = new File("E:/test/异常1.jpg");
 System.out.println(file.getName()); // 结果是1.txt
 System.out.println(file.getParent());
 System.out.println(file.getParentFile());
 System.out.println(file.getPath());
 System.out.println(file.isAbsolute());
 System.out.println(file.getAbsolutePath()); 
 System.out.println(file.exists());
 System.out.println(file.isFile());
System.out.println(file.isDirectory());
System.out.println(file.createNewFile());
System.out.println(file.delete());
 System.out.println(file.mkdir());
 System.out.println(file.mkdirs());
 String[] list = file.list();
 

字符集

在计算机中,一个中文汉字是一个字符,一个英文字母是一个字符。一个阿拉伯字是一个字符。一个标点符号是一个字符等等

字符集是由字符组成的集合
常见的字符集由:

  • ASCII: 128个字符(包括了英文字母大小写,阿拉伯数字等)
  • ISO-8859-1: 支持欧洲的部分语言文字
  • GB2312: 支持中文(包括了6763个汉字)
  • BIG5 支持了繁体中文(包括了13053个汉字)
  • GBK: 是对GB2312,BIG5的扩充
  • GB18030 对GBK的补充。
  • Unicode: 包括了世界上所有的字符

在使用过程中,一般将字符串转为二进制的过程叫编码。
将二进制转为字符串的过程为解码。编码解码时使用的字符编码必须保持一直,否值会造成乱码

字节流

特点:
一次只读写一个字节。并且他们都继承自inputStream,OutputStream.
常用的字节流有FileInputStream,FileOutputStream

FileOutStream

   // 吧内容写入到文件中
		FileOutputStream os = new FileOutputStream("F://1.txt");
		os.write(77);
		os.close();
		// 

FileInputStream

		FileInputStream is = new FileInputStream("F://1.txt");
		byte[] bytes = new byte[100];
		is.read(bytes);
		is.close();

常用方法

图片URL地址转Byte文件流

    /**
     * 得到文件流
     * @param url 图片地址
     * @return
     */
    public static byte[] getFileStream(String url){
        try {
            URL httpUrl = new URL(url);
            HttpURLConnection conn = (HttpURLConnection)httpUrl.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(5 * 1000);
            InputStream inStream = conn.getInputStream();//通过输入流获取图片数据
            byte[] btImg = readInputStream(inStream);//得到图片的二进制数据
            return btImg;
        } catch (Exception e) {
           e.printStackTrace();
        }
        return null;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值