Java File类/文件字节流/图形和图像

Java File类

File对象主要用来获取文件本身的一些信息
创建File对象的构造方法

  • File(String filename)//文件的名称
  • File(String directoryPath,String filename)//文件的路径和名称
  • File(File f, Stirng filename)//文件类对象和名称

文件的属性

  • public Sting getName()//获取文件的名字
  • public boolean canRead()//判断是否可读
  • public boolean canWrite()//判断是否可写
  • public boolean exists()//判断是否存在
  • public long length()//获取文件的长度(字节),包括空格
  • public String getAbslutePath()//获取文件的绝对路径
  • public Sting getParent()//获取文件的父目录
  • public boolean isFile()//是否为一个文件
  • public boolean isDirectory()//判断是否为一个目录
  • public boolean isHidden()//判断文件是否隐藏
  • public long lastModify()//获取文件最后修改的时间(毫秒数)

目录

File类的对象可以调用public boolean mkdir()//创建一个目录

列出目录中的文件

当File类的对象是一个目录可以调用以下方法

  • public String [ ] list()//以字符串数组的方式返回所有文件
  • public File [ ] listFiles()//以File对象形式返回目录下的所有文件

列出指定文件

  • public String [ ] list(FilenameFileter obj)//
  • public File [ ] listFiles(FilenameFileter obj)//

FilenameFileter是一个接口,obj是实现了该接口的类
该接口只有一个方法
public boolean accept(File dir,String name)//

文件的创建与删除

当创建一个File类的对象后可以调用
public boolean creatNewFile()//成功创建后返回ture
删除的时候可以调用
public boolean delete()

file.delete();
import java.io.File;
import java.io.IOException;

public class Example12_3 {
    public static void main(String[] args) throws IOException {
        File file = new File("E:","abc.txt");
        file.createNewFile();
        file.delete();
    }
}

运行可执行文件

运行本机上的可执行文件
使用Runtime类声明一个对象,然后Runtime类调用静态方法getRuntime()创建对象
然后调用exec(String command)方法打开

import java.io.File;
import java.io.IOException;

public class Example12_3 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\Dict","YoudaoDict.exe");
        Runtime ec = Runtime.getRuntime();
        ec.exec(file.getAbsolutePath());	//从文件路径中打开可执行文件
    }
}

文件字节流

在这里插入图片描述
文件字节输入流

  1. 设定输入流的源
  2. 创建指向源的输入流
  3. 让输入流读取源中的数据
  4. 关闭输入流

创建文件字节输入流

FileInputStream类创建的对象被称为文件字节输入流,是从InputStream中派生出来的简单输入流类
两个构造方法

  • FileInputStream(Stirng name)//给定文件名
  • FileInputStream(File file)//使用File对象

当输入一个不存在的文件是就会发生错误,那么程序必须在try,,catch语句中创建输入流对象

File file = new File("E:","abc.txt");//文件对象
        try{
            FileInputStream in = new FileInputStream(file);
        }
        catch (Exception E){
            System.out.println("文件出错:" + E);
        }

以字节为单位读文件

InputStream的子类继承了read()方法,特点是以字节为单位读取源中的数据

int read()

read()方法顺序地读取源中的单个字节数据,该方法返回字节值(0~255的一个整数),如果达到源的末尾就返回-1
另外还有带参数的方法

  • int read(byte b[ ])//读取b.length字节,并且存到数组b中
  • int read(byte b[ ],int off,int len)//读取len字节,off是首字节在数组中存放的位置

最后记得关闭输入流
close()//

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class Example12_4 {
    public static void main(String[] args) {
        byte b[] = new byte[100];    //创建一个长度为100的字节数组(每次读取100个字节)
        int i;//声明一个整形变量用来存放read的返回值
        try{
        	File file = new File("E:","abc.txt");//文件对象(第一步)
            FileInputStream in = new FileInputStream(file);//(第二步)
            while( in.read(b) != -1 ){  //当数组未读取完就继续读取(第三步)
                String s = new String(b);   //将获取的字节转为字符串
                System.out.println(s);
            }
            in.close();//记得关闭(第四步)
        }
        catch (Exception E){
            System.out.println("文件出错:" + E);
        }
    }
}

文件字节输出流

  1. 给出输出流的目的地
  2. 创建指向目的地的输出流
  3. 让输出流把数据写入到目的地
  4. 关闭输出

创建文件字节输出流

两个构造方法(刷新该文件)

  • FileOutputStream(String name)//带文件名称
  • FileOutputStream(File file)//文件对象

不刷新文件的构造方法

  • FileOutputStream(String name ,boolean append)//带文件名称(true 的时候就不刷新)
  • FileOutputStream(File file ,boolean append)//文件对象(true 的时候就不刷新)

以字节单位输出文件

OutputStream的子类都继承了它的write(byte b[ ])方法,特点是以字节为单位向文件写入数据

public void write(byte b[ ])//
  • public void write(byte b[ ] ,int off ,int len)//off是从数组的哪个位置开始输出,len是是字节数
import java.io.File;
import java.io.FileOutputStream;

public class Example12_5 {
    public static void main(String[] args) {
        byte b[] = "我是一名学生".getBytes(); //将字符字符串获取字节放到一个数组中
        try{
            File file = new File("E:","abc.txt");//(第一步)
            FileOutputStream out = new FileOutputStream(file,true);//不刷新文件,在文件的最后进行输出(第二步)
            out.write(b);//(第三步)
            out.close();//记得关闭(第四步)
        }
        catch (Exception e){    //当出现异常时就执行
            System.out.println("error" + e );
        }
    }
}

图形和图像

  • 彩色的基本概念
    1.亮度//明暗程度
    2.色调//颜色的种类
    3.饱和度//颜色的纯度

  • 三基色(RGB)原理//红,绿 蓝

  • 彩色空间
    1.RGB彩色空间
    2.YUV彩色空间
    3.CMY彩色空间//减色系统(Cyan 青, Magenta 品红, Yellow 黄)

  • 图形与图像信息的表示
    1.矢量图形//用一系列计算机指令来描述和记录的一幅图的内容
    2.位图图像//用像素点来描述的图

  • 图像的获取
    1.利用数字图像库
    2.利用绘图软件创建图像
    3.利用数字转换设备采集图像//采样,量化,编码

  • 图像的属性
    1.分辨率//图像分辨率和显示分辨率
    2.图像深度//存储每个像素的位数
    3.真彩色和伪彩色//

  • 图形图像转换
    1.图形和图像的硬件转换
    2.图像和图像的软件转换

  • 图像的压缩编码

  • 图像数据压缩编码的国际标准//JPEG联合图象专家组(Joint Photographic Experts Group)

  • 图形图像文件格式
    1.BMP//位图文件的扩展名(Bitmap)
    2.DIB
    3.PCX
    4.DIF
    5.WMF//视窗中介文件格式(Window Meta File)
    6.GIF//可交换的图像文件(Graphic Interchange Format)
    7.JPEG
    8.TIFF//标签图像文件格式
    9.EPS
    10.PSD//Photoshop专用格式
    11.CDR
    12.TGA

CET4P173

rotten
dash
entertain
grasp
concept
shiver
economy
recently
rigid
stadium

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值