Java中File类,你知道有哪些api方法吗?

创作不易,如果觉得这篇文章对你有帮助,欢迎各位老铁点个赞呗,您的支持是我创作的最大动力!

1 前言

Java中的File类,在实际开发中用的还是比较多的,比如说读取资源时,文件上传下载时等场景,这里做一下总结,以后使用的时候,可以很方便的查询api。

2 File类

Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建文件的查找文件的删除等。

File对象代表磁盘中实际存在的文件和目录。

3 创建一个File对象

可以通过以下四种构造方法其中一个,来创建一个File对象:

通过给定的父抽象路径名和子路径名字符串创建一个新的File实例
File(File parent, String child)

通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例
File(String pathname)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例
File(String parent, String child)

通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例
File(URI uri)

4 File对象中常用的方法

创建File对象成功后,可以使用以下表格中的方法来操作文件:

序号方法名称方法描述
1public String getName()返回由此抽象路径名表示的文件或目录的名称
2public String getParent()返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null
3public File getParentFile()返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null
4public String getPath()将此抽象路径名转换为一个路径名字符串
5public boolean isAbsolute()判断此抽象路径名是否为绝对路径名
6public String getAbsolutePath()返回抽象路径名的绝对路径名字符串
7public boolean canRead()判断应用程序是否可以读取此抽象路径名表示的文件
8public boolean canWrite()判断应用程序是否可以修改此抽象路径名表示的文件
9public boolean exists()判断此抽象路径名表示的文件或目录是否存在
10public boolean isDirectory()判断此抽象路径名表示的文件是否是一个目录
11public boolean isFile()判断此抽象路径名表示的文件是否是一个标准文件
12public long lastModified()返回此抽象路径名表示的文件最后一次被修改的时间
13public long length()返回由此抽象路径名表示的文件的长度
14public boolean createNewFile() throws IOException当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件
15public boolean delete()删除此抽象路径名表示的文件或目录
16public void deleteOnExit()在虚拟机终止时,请求删除此抽象路径名表示的文件或目录
17public String[] list()返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组
18public String[] list(FilenameFilter filter)返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的
19public File[] listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
20public File[] listFiles(FileFilter filter)返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器
21public boolean mkdir()创建此抽象路径名指定的目录
22public boolean mkdirs()创建此抽象路径名指定的目录,包括创建必需但不存在的父目录
23public boolean renameTo(File dest)重新命名此抽象路径名表示的文件
24public boolean setLastModified(long time)设置由此抽象路径名所指定的文件或目录的最后一次修改时间
25public boolean setReadOnly()标记此抽象路径名指定的文件或目录,以便只可对其进行读操作
26public static File createTempFile(String prefix, String suffix, File directory) throws IOException在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称
27public static File createTempFile(String prefix, String suffix) throws IOException在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称
28public int compareTo(File pathname)按字母顺序比较两个抽象路径名
29public int compareTo(Object o)按字母顺序比较抽象路径名与给定对象
30public boolean equals(Object obj)判断此抽象路径名与给定对象是否相等
31public String toString()返回此抽象路径名的路径名字符串

5 File使用实例

5.1 File基础使用

【代码示例】

/**
 * @author smilehappiness
 * File对象中,基础api的使用
 * @version 1.0
 * @ClassName FileUse
 * @Date 2020/6/6 15:40
 */
public class FileUse {

    public static void main(String args[]) {
        //测试的目录名称
        String dirName = "d:\\test-case";
        File file = new File(dirName);
        //判断此抽象路径名,是不是目录类型
        if (file.isDirectory()) {
            System.out.println("Directory of " + dirName);

            //返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组
            String stringArrays[] = file.list();
            for (int i = 0; i < stringArrays.length; i++) {
                File f = new File(dirName + "/" + stringArrays[i]);
                if (f.isDirectory()) {
                    System.out.println(stringArrays[i] + " is a directory");
                } else {
                    System.out.println(stringArrays[i] + " is a file");
                }
            }

            System.out.println("------------------华丽的分割线------------------");
            //返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
            File fileArrays[] = file.listFiles();
            for (File fileArray : fileArrays) {
                File f = new File(dirName + "/" + fileArray);
                if (f.isDirectory()) {
                    System.out.println(fileArray + " is a directory");
                } else {
                    System.out.println(fileArray + " is a file");
                }
            }

            //判断此抽象路径名,是不是标准文件类型
        } else if (file.isFile()) {
            System.out.println(dirName + " is not a directory");
        }
    }

}

执行结果:

Directory of d:\test-case
hello is a directory
log.txt is a file
Person.dat is a file
test.txt is a file
test.txt.bak is a file
------------------华丽的分割线------------------
d:\test-case\hello is a file
d:\test-case\log.txt is a file
d:\test-case\Person.dat is a file
d:\test-case\test.txt is a file
d:\test-case\test.txt.bak is a file

5.2 获取maven仓库中,失败的依赖

项目中,目前普遍使用maven进行项目的构建,但是使用maven时,由于网络不稳定,或者需要翻墙等因素,导致部分jar可能下载失败,只能重新下载才能使项目正常启动,但是下载失败的依赖,如果你不删除,又下载不成功,导致项目启动报错。

如何快速找到哪个依赖报错了呢?找到失败的依赖,删除后,重新下载,绝大多数就成功了,不多唠叨了,见以下解决方案示例:

/**
 * @author smilehappiness
 * 
 * 通过读取指定的目录及子目录下指定文件名的路径,获取需要的资源,返回结果为List
 * @version 1.0
 * @ClassName MavenFailDependency
 * @Date 2020/6/6 14:13
 */
public class MavenFailDependency {

    /**
     * <p>
     * 通过指定路径和匹配的内容后缀,来获取目录下的资源文件
     * <p/>
     *
     * @param path   文件路径
     * @param suffix 后缀名, 匹配具体的后缀内容的文件
     * @return java.util.List<java.lang.String>
     * @Date 2020/6/6 14:20
     */
    public static List<String> getFilesList(String path, String suffix) {
        File file = new File(path);
        return MavenFailDependency.listFile(new ArrayList<>(), file, suffix);
    }

    /**
     * <p>
     * 获取目录下,指定后缀内容的资源文件
     * 如:这下失败的依赖 aether-ed239b5e-5ab7-49c1-8f71-df76605fb76e-spring-beans-5.0.5.RELEASE.jar.sha1-in-progress
     * 以in-progress为结尾的为下载失败的依赖,常见的下载依赖失败的后缀,.sha1-in-progress/.jar-in-progress/.pom-in-progress
     * <p/>
     *
     * @param fileNameList
     * @param file
     * @param suffix
     * @return java.util.List<java.lang.String>
     * @Date 2020/6/6 14:30
     */
    private static List<String> listFile(List<String> fileNameList, File file, String suffix) {
        if (StringUtils.isBlank(suffix)) {
            return Collections.emptyList();
        }

        // 若是目录, 采用递归的方法遍历子目录(file.isFile()、file.isDirectory())
        if (file.isDirectory()) {
            // 获取源目录中所有的子文件(子文件中有目录,也有可能有文件)
            File[] fileList = file.listFiles();

            for (File subFile : fileList) {
                //递归调用
                listFile(fileNameList, subFile, suffix);
            }
        } else {
            // 获取文件的绝对路径
            String filePath = file.getAbsolutePath();
            // 最后一个.(即后缀名前面的.)的索引
            int begIndex = filePath.lastIndexOf(".");
            // 这里可以筛选指定后缀的文件
            if (begIndex != -1) {
                //获取到最后一个.结尾后面的内容
                String suffixValue = filePath.substring(begIndex + 1);
                // sha1-in-progress包含in-progress
                // 这里因为指定的后缀与截取.的后缀,名字不一致,所以加一个 || tempSuffix.contains(suffix)条件
                if (suffixValue.equals(suffix) || suffixValue.contains(suffix)) {
                    fileNameList.add(filePath);
                }
            }
        }

        return fileNameList;
    }

}

测试用例:

/**
 * <p>
 * 快速获取,maven仓库中,失败的依赖,找到失败的依赖,删除后,重新下载,功能测试
 * <p/>
 *
 * @author smilehappiness
 * @Date 2020/6/6 14:55
 */
public class MavenFailDependencyTest {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Test
    public void testGetMavenFailDependency() {
        //本地maven仓库,依赖下载保存的地址
        String localMavenRepositoryDir = "D:\\workplace\\worktool\\maven";
        List<String> list = MavenFailDependency.getFilesList(localMavenRepositoryDir, "in-progress");
        logger.info("依赖下载失败的个数:{}", list.size());

        if (CollectionUtils.isNotEmpty(list)) {
            for (int i = 0; i < list.size(); i++) {
                logger.info("依赖下载失败的目录{}:{}", i, list.get(i));
            }
        }
    }

}

5.3 文件和目录的拷贝

5.3.1 文件拷贝工具类

给老铁们总结一个拷贝工具类:

/**
 * <p>
 * 文件拷贝工具类
 * <p/>
 *
 * @author smilehappiness
 * @Date 2020/6/6 11:56
 */
public class FileCopyUtil {

    private FileCopyUtil() {

    }

    /**
     * <p>
     * 拷贝文件的功能
     * <p/>
     *
     * @param srcFile 源文件(路径)
     * @param desPath 目标路径
     * @return void
     * @Date 2020/6/6 11:57
     */
    public static void copyFile(String srcFile, String desPath) {
        // String -> File
        copyFile(new File(srcFile), desPath);
    }

    /**
     * <p>
     * 拷贝文件的功能
     * <p/>
     *
     * @param srcFile 源文件(file类型)
     * @param desPath 目标路径
     * @return void
     * @Date 2020/6/6 12:01
     */
    public static void copyFile(File srcFile, String desPath) {
        // 1.取出源文件名称
        String fileName = srcFile.getName();

        // 2.判断目标路径是否存在
        File dPath = new File(desPath);
        if (!dPath.exists()) {
            //拷贝的目的地路径,如果目录不存在,创建目录
            // boolean mkdir() 创建此抽象路径名指定的目录,创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
            System.out.println("创建目标路径是否成功:" + dPath.mkdirs());
        }

        // 3.设置目标文件名称
        //static String separator() 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
        String desFileName = desPath + File.separator + fileName;

        // 声明低级流
        FileInputStream fileInputStream;
        FileOutputStream fileOutputStream;

        // 声明高级流
        BufferedInputStream bufferedInputStream = null;
        BufferedOutputStream bufferedOutputStream = null;

        try {
            // 初始化的时候先初始化低级流(FileInputStream为文件字节输入流,FileOutputStream为文件字节输出流)
            fileInputStream = new FileInputStream(srcFile);
            fileOutputStream = new FileOutputStream(desFileName);

            // 然后初始化高级流,使用缓冲流提升io性能
            bufferedInputStream = new BufferedInputStream(fileInputStream);
            bufferedOutputStream = new BufferedOutputStream(fileOutputStream);

            //定义一个字节数组,相当于缓存
            byte[] b = new byte[1024 * 1024];
            //得到实际读取到的字节数 读到最后返回-1
            int i = 0;
            //循环读取,把bufferedInputStream里的东西读到bytes数组里去
            while ((i = bufferedInputStream.read(b)) != -1) {
                bufferedOutputStream.write(b, 0, i);
            }

            System.out.println(srcFile + " 文件拷贝到目标目录【" + desPath + "】完成!");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 高级流bout关闭的时候,JVM会自动的刷新缓冲区,即在关闭流之前会自动调用flush方法刷新缓存
            try {
                if (bufferedOutputStream != null) {
                    bufferedOutputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

            try {
                if (bufferedInputStream != null) {
                    bufferedInputStream.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * <p>
     * 拷贝目录的功能
     * <p/>
     *
     * @param srcPath 源目录(路径)
     * @param desPath 目标目录
     * @return void
     * @Date 2020/6/6 13:13
     */
    public static void copyDir(String srcPath, String desPath) {
        copyDir(new File(srcPath), desPath);
    }

    /**
     * <p>
     * 拷贝目录的功能
     * <p/>
     *
     * @param srcPath 源目录(file类型)
     * @param desPath 目标目录
     * @return void
     * @Date 2020/6/6 13:20
     */
    public static void copyDir(File srcPath, String desPath) {
        // 判断srcPath是文件还是目录
        if (srcPath.isFile()) {
            // 递归调用,如果是文件则继续调用,直到为一个目录
            copyFile(srcPath, desPath);
        } else {
            // 获取源目录中所有的子文件
            File[] files = srcPath.listFiles();

            // 从源目录中获取要拷贝的目录的名称,例如:从"d:\\test-case"源目录中获取到 test-case 这个目录的名称
            String srcPathName = srcPath.getName();

            // 在目标路径中创建要拷贝的目录名称,例如 在d:\\创建 src 目录
            String descPathName = desPath + File.separator;
            // 通过将给定路径名字符串,转换为抽象路径名,来创建一个新 File 实例
            File filePath = new File(descPathName);

            // 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
            if (!filePath.exists()) {
                filePath.mkdirs();
            }

            // 遍历数组,一个一个目录的拷贝
            for (File file : files) {
                // 递归调用
                copyDir(file, descPathName);
            }
        }
    }

}

5.3.2 拷贝文件的功能

/**
 * <p>
 * 拷贝文件的功能-测试
 * <p/>
 *
 * @param
 * @return void
 * @Date 2020/6/6 13:33
 */
@Test
public void testCopyFile() {
    String srcFile = "D:\\test-case\\log.txt";
    FileCopyUtil.copyFile(srcFile, "d:\\test-case\\src");
}

5.3.3 拷贝文件目录的功能

 /**
     * <p>
     * 拷贝目录的功能
     * <p/>
     *
     * @param
     * @return void
     * @Date 2020/6/6 13:43
     */
    @Test
    public void testCopyDir() {
        String srcFile = "D:\\test-case";
        FileCopyUtil.copyDir(srcFile, "c:\\test-case\\test");
    }

5.4 拷贝jar资源到目标目录

分布式系统项目中,部署测试的时候,需要打jar包部署。为了方便把jar资源上传到uat服务器,可以把maven成功打包后的jar资源统一备份到指定目录,方便使用。

基础实现代码如下:

package cn.smilehappiness;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;

import java.io.File;
import java.io.FileFilter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Pattern;

/**
 * <p>
 * 拷贝项目打包后的jar,到指定的目录,方便后续部署测试
 * <p/>
 *
 * @author smilehappiness
 * @Date 2020/7/3 10:13
 */
public class CopyJarToTargetUtil {

    public static void main(String[] args) throws Exception {
        String srcPath = "D:\\workplace\\git_project\\project-name";

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String currentDate = sdf.format(new Date());
        String targetDir = StringUtils.join("D:\\jar-back", "\\", currentDate, "-back-jar");

        CopyJarToTargetUtil.copyJar(new File(srcPath), targetDir);
        System.out.println("资源文件拷贝完成!");
    }

    /**
     * <p>
     * 拷贝资源,把源文件拷贝到指定目录
     * <p/>
     *
     * @param srcFilePath
     * @param targetFilePath
     * @return java.lang.String
     * @Date 2020/7/3 10:24
     */
    public static String copyJar(File srcFilePath, String targetFilePath) throws Exception {
        File targetFile = new File(targetFilePath);
        //如果目标目录不存在,则创建目录
        if (!targetFile.exists()) {
            targetFile.mkdirs();
        }

        if (srcFilePath.exists() && srcFilePath.isDirectory()) {
            //获取指定目标目录下,过滤后的资源文件列表
            File[] files = srcFilePath.listFiles(new MyFileFilter());
            for (File file : files) {
                if (file.isDirectory()) {
                    //过滤git目录
                    if (file.getName().endsWith(".git") || file.getName().endsWith(".idea")) {
                        continue;
                    }

                    //递归处理
                    copyJar(file, targetFilePath);
                } else {
                    File targetSourceFile = new File(targetFilePath + "\\" + file.getName());
                    FileUtils.copyFile(file, targetSourceFile);
                }
            }
            return "success";
        } else {
            return "文件路径不存在";
        }

    }

    /**
     * <p>
     * 过滤 *.jar文件
     * <p/>
     *
     * @author smilehappiness
     * @Date 2020/7/3 10:20
     */
    static class MyFileFilter implements FileFilter {

        @Override
        public boolean accept(File file) {
            String fileName = file.getName().toLowerCase();
            /*String regex = "^[A-Za-z-]*-impl-[0-9.]+.jar$";
            Pattern compile = Pattern.compile(regex);
            boolean flag = compile.matcher(fileName).matches();*/

            String regex = "^[A-Za-z-]*-impl-[0-9.]+.jar$";//hello-word-impl-1.0.0.jar
            boolean flag = Pattern.matches(regex, fileName);
            if (flag || file.isDirectory()) {
                return true;
            }

            return false;
        }

    }

}
   

6 总结

本文主要介绍了Java中File对象基础api的使用。笔者使用File类常用的api方法,写了一些案例,给老铁们加深api方法的印象。File对象,相对来说用的还是比较多的,希望老铁们多多联系和掌握。

参考资料:https://www.runoob.com/java/java-file.html

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家评论,一起探讨,代码如有问题,欢迎各位大神指正!

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JAVA开发人员必备是HTML格式的 JavaTM 2 Platform Standard Edition 6 API 规范 本文档是 Java 2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述 Java 2 Platform 软件包 java.applet 提供创建 applet 所必需的和 applet 用来与其 applet 上下文通信的java.awt 包含用于创建用户界面和绘制图形图像的所有java.awt.color 提供用于颜色空间的java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统都会遇到它,它提供了一种机制,能够在两个与 GUI 显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的各事件的接口和java.awt.font 提供与字体相关的和接口。 java.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的 Java 2D java.awt.im 提供输入方法框架所需的和接口。 java.awt.im.spi 提供启用可以与 Java 运行时环境一起使用的输入方法开发的接口。 java.awt.image 提供创建和修改图像的各种java.awt.image.renderable 提供用于生成与呈现无关的图像的和接口。 java.awt.print 为通用的打印 API 提供和接口。 java.beans 包含与开发 beans 有关的,即基于 JavaBeansTM 架构的组件。 java.beans.beancontext 提供与 bean 上下文有关的和接口。 java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供允许 Java 编程语言代理检测运行在 JVM 上的程序的服务。 java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供和接口,以获得关于和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的java.net 为实现网络应用程序提供java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。 java.nio.channels.spi 用于 java.nio.channels 包的服务提供者java.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。 java.nio.charset.spi java.nio.charset 包的服务提供者java.rmi 提供 RMI 包。 java.rmi.activation 为 RMI 对象激活提供支持。 java.rmi.dgc 为 RMI 分布式垃圾回收提供了和接口。 java.rmi.registry 提供 RMI 注册表的一个和两个接口。 java.rmi.server 提供支持服务器端 RMI 的和接口。 java.security 为安全框架提供和接口。 java.security.acl 此包和接口已经被 java.security 包取代。 java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的和接口。 java.security.interfaces 提供的接口用于生成 RSA Laboratory Technical Note PKCS#1 定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186 定义的 DSA(数字签名算法)密钥。 java.security.spec 提供密钥规范和算法参数规范的和接口。 java.sql 提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)的数据的 APIjava.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的和接口。 java.text.spi java.text 包的服务提供者java.util 包含 collection 框架、遗留的 collection 、事件模型、日期和时间设施、国际化和各种实用工具(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程很常用的实用工具java.util.concurrent.atomic 的小工具包,支持在单个变量上解除锁的线程安全编程。 java.util.concurrent.locks 为锁和等待条件提供一个框架的接口和,它不同于内置同步和监视器。 java.util.jar 提供读写 JAR (Java ARchive) 文件格式的,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的和接口。 java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的java.util.spi java.util 包的服务提供者java.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的javax.accessibility 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的协定。 javax.crypto 为加密操作提供和接口。 javax.crypto.interfaces 根据 RSA Laboratories' PKCS #3 的定义,提供 Diffie-Hellman 密钥接口。 javax.crypto.spec 为密钥规范和算法参数规范提供和接口。 javax.imageio Java Image I/O API 的主要包。 javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的javax.imageio.spi 包含用于 reader、writer、transcoder 和流的插件接口以及一个运行时注册表的 Java Image I/O API 包。 javax.imageio.stream Java Image I/O API 的一个包,用来处理从文件和流产生的低级别 I/O。 javax.management 提供 Java Management Extensions 的核心javax.management.loading 提供实现高级动态加载的javax.management.modelmbean 提供了 ModelMBean 的定义。 javax.management.monitor 提供 monitor 的定义。 javax.management.openmbean 提供开放数据型和 Open MBean 描述符javax.management.relation 提供 Relation Service 的定义。 javax.management.remote 对 JMX MBean 服务器进行远程访问使用的接口。 javax.management.remote.rmi RMI 连接器是供 JMX Remote API 使用的一种连接器,后者使用 RMI 将客户端请求传输到远程 MBean 服务器。 javax.management.timer 提供对 Timer MBean(计时器 MBean)的定义。 javax.naming 为访问命名服务提供和接口。 javax.naming.directory 扩展 javax.naming 包以提供访问目录服务的功能。 javax.naming.event 在访问命名和目录服务时提供对事件通知的支持。 javax.naming.ldap 提供对 LDAPv3 扩展操作和控件的支持。 javax.naming.spi 提供一些方法来动态地插入对通过 javax.naming 和相关包访问命名和目录服务的支持。 javax.net 提供用于网络应用程序的javax.net.ssl 提供用于安全套接字包的javax.print 为 JavaTM Print Service API 提供了主要和接口。 javax.print.attribute 提供了描述 JavaTM Print Service 属性的型以及如何分这些属性的和接口。 javax.print.attribute.standard 包 javax.print.attribute.standard 包括特定打印属性的javax.print.event 包 javax.print.event 包含事件和侦听器接口。 javax.rmi 包含 RMI-IIOP 的用户 APIjavax.rmi.CORBA 包含用于 RMI-IIOP 的可移植性 APIjavax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth.callback 此包提供与应用程序进行交互所必需的,以便检索信息(例如,包括用户名和密码的验证数据)或显示信息(例如,错误和警告消息)。 javax.security.auth.kerberos 此包包含与 Kerberos 网络验证协议相关的实用工具javax.security.auth.login 此包提供可插入的验证框架。 javax.security.auth.spi 此包提供用于实现可插入验证模块的接口。 javax.security.auth.x500 此包包含应该用来在 Subject 存储 X500 Principal 和 X500 Private Crendentials 的javax.security.cert 为公钥证书提供javax.security.sasl 包含用于支持 SASL 的和接口。 javax.sound.midi 提供用于 MIDI(音乐乐器数字接口)数据的 I/O、序列化和合成的接口和javax.sound.midi.spi 在提供新的 MIDI 设备、MIDI 文件 reader 和 writer、或音库 reader 时提供服务提供者要实现的接口。 javax.sound.sampled 提供用于捕获、处理和回放取样的音频数据的接口和javax.sound.sampled.spi 在提供新音频设备、声音文件 reader 和 writer,或音频格式转换器时,提供将为其创建子的服务提供者的抽象javax.sql 为通过 JavaTM 编程语言进行服务器端数据源访问和处理提供 APIjavax.sql.rowset JDBC RowSet 实现的标准接口和基javax.sql.rowset.serial 提供实用工具,允许 SQL 型与 Java 编程语言数据型之间的可序列化映射关系。 javax.sql.rowset.spi 第三方供应商在其同步提供者的实现必须使用的标准和接口。 javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。 javax.swing.border 提供围绕 Swing 组件绘制特殊边框的和接口。 javax.swing.colorchooser 包含供 JColorChooser 组件使用的和接口。 javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的和接口。 javax.swing.plaf 提供一个接口和许多抽象,Swing 用它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Java 外观是默认外观。 javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。 javax.swing.plaf.synth Synth 是一个可更换皮肤 (skinnable) 的外观,在其可委托所有绘制。 javax.swing.table 提供用于处理 javax.swing.JTable 的和接口。 javax.swing.text 提供 HTMLEditorKit 和创建 HTML 文本编辑器的支持javax.swing.text.html 提供 HTMLEditorKit 和创建 HTML 文本编辑器的支持javax.swing.text.html.parser 提供默认的 HTML 解析器以及支持javax.swing.text.rtf 提供一个 (RTFEditorKit),用于创建富文本格式(Rich-Text-Format)的文本编辑器。 javax.swing.tree 提供处理 javax.swing.JTree 的和接口。 javax.swing.undo 允许开发人员为应用程序(例如文本编辑器)的撤消/恢复提供支持。 javax.transaction 包含解组期间通过 ORB 机制抛出的三个异常。 javax.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务的资源对象(由资源管理器驱动程序提供)。 javax.xml 根据 XML 规范定义核心 XML 常量和功能。 javax.xml.bind 为包含解组、编组和验证功能的客户端应用程序提供运行时绑定框架。 javax.xml.bind.annotation 定义将 Java 程序元素定制成 XML 模式映射的注释。 javax.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子允许任意 Java 与 JAXB 一起使用。 javax.xml.bind.attachment 此包由基于 MIME 的包处理器实现,该处理器能够解释并创建基于 MIME 的包格式的已优化的二进制数据。 javax.xml.bind.helpers 仅由 JAXB 提供者用于: 提供某些 javax.xml.bind 接口的部分默认实现。 javax.xml.bind.util 有用的客户端实用工具javax.xml.crypto 用于 XML 加密的通用javax.xml.crypto.dom javax.xml.crypto 包的特定于 DOM 的javax.xml.crypto.dsig 用于生成和验证 XML 数字签名的javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的javax.xml.crypto.dsig.spec XML 数字签名的参数javax.xml.datatype XML/Java 型映射关系。 javax.xml.namespace XML 名称空间处理。 javax.xml.parsers 提供允许处理 XML 文档的javax.xml.soap 提供用于创建和构建 SOAP 消息的 APIjavax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 APIjavax.xml.transform.dom 此包实现特定于 DOM 的转换 APIjavax.xml.transform.sax 此包实现特定于 SAX2 的转换 APIjavax.xml.transform.stax 提供特定于 StAX 的转换 APIjavax.xml.transform.stream 此包实现特定于流和 URI 的转换 APIjavax.xml.validation 此包提供了用于 XML 文档验证的 APIjavax.xml.ws 此包包含核心 JAX-WS APIjavax.xml.ws.handler 该包定义用于消息处理程序的 APIjavax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 APIjavax.xml.ws.http 该包定义特定于 HTTP 绑定的 APIjavax.xml.ws.soap 该包定义特定于 SOAP 绑定的 APIjavax.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。 javax.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如验证、数据完整性和和数据机密性。 org.omg.CORBA 提供 OMG CORBA APIJavaTM 编程语言的映射,包括 ORB ,如果已实现该,则程序员可以使用此作为全功能对象请求代理(Object Request Broker,ORB)。 org.omg.CORBA_2_3 CORBA_2_3 包定义对 Java[tm] Standard Edition 6 现有 CORBA 接口所进行的添加。 org.omg.CORBA_2_3.portable 提供输入和输出值型的各种方法,并包含 org/omg/CORBA/portable 包的其他更新。 org.omg.CORBA.DynAnyPackage 提供与 DynAny 接口一起使用的异常(InvalidValue、Invalid、InvalidSeq 和 TypeMismatch)。 org.omg.CORBA.ORBPackage 提供由 ORB.resolve_initial_references 方法抛出的异常 InvalidName,以及由 ORB 的动态 Any 创建方法抛出的异常 InconsistentTypeCode。 org.omg.CORBA.portable 提供可移植性层,即可以使一个供应商生成的代码运行在另一个供应商 ORB 上的 ORB API 集合。 org.omg.CORBA.TypeCodePackage 提供用户定义的异常 BadKind 和 Bounds,它们将由 TypeCode 方法抛出。 org.omg.CosNaming 为 Java IDL 提供命名服务。 org.omg.CosNaming.NamingContextExtPackage 此包包含以下在 org.omg.CosNaming.NamingContextExt 使用的: AddressHelper StringNameHelper URLStringHelper InvalidAddress 包规范 有关 Java[tm] Platform, Standard Edition 6 ORB 遵守的官方规范的受支持部分的明确列表,请参阅 Official Specifications for CORBA support in Java[tm] SE 6。 org.omg.CosNaming.NamingContextPackage 此包包含 org.omg.CosNaming 包的 Exception 。 org.omg.Dynamic 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.9 小节指定的 Dynamic 模块。 org.omg.DynamicAny 提供一些和接口使得在运行时能够遍历与 any 有关联的数据值,并提取数据值的基本成分。 org.omg.DynamicAny.DynAnyFactoryPackage 此包包含 DynamicAny 模块的 DynAnyFactory 接口和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2.2 小节指定。 org.omg.DynamicAny.DynAnyPackage 此包包含 DynAny 模块的 DynAnyFactory 接口和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2 小节指定。 org.omg.IOP 此包包含在 OMG 文档 The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的 13.6.小节指定的 IOP 模块。 org.omg.IOP.CodecFactoryPackage 此包包含 IOP::CodeFactory 接口指定的异常(作为 Portable Interceptor 规范的一部分)。 org.omg.IOP.CodecPackage 此包根据 IOP::Codec IDL 接口定义生成。 org.omg.Messaging 此包包含 OMG Messaging Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 指定的 Messaging 模块。 org.omg.PortableInterceptor 提供一个注册 ORB 钩子 (hook) 的机制,通过这些钩子 ORB 服务可以截取执行 ORB 的正常流。 org.omg.PortableInterceptor.ORBInitInfoPackage 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.7.2 小节指定的 PortableInterceptor 模块的 ORBInitInfo 本地接口的异常和 typedef。 org.omg.PortableServer 提供一些和接口,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.CurrentPackage 提供各种方法实现,这些实现能够访问调用方法的对象的身份。 org.omg.PortableServer.POAManagerPackage 封装 POA 关联的处理状态。 org.omg.PortableServer.POAPackage 允许程序员构造可在不同 ORB 产品间移植的对象实现。 org.omg.PortableServer.portable 提供一些和接口,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.ServantLocatorPackage 提供定位 servant 的和接口。 org.omg.SendingContext 为值型的编组提供支持。 org.omg.stub.java.rmi 包含用于 java.rmi 包出现的 Remote 型的 RMI-IIOP Stub。 org.w3c.dom 为文档对象模型 (DOM) 提供接口,该模型是 Java API for XML Processing 的组件 API。 org.w3c.dom.bootstrap org.w3c.dom.events org.w3c.dom.ls org.xml.sax 此包提供了核心 SAX API。 org.xml.sax.ext 此包包含适合的 SAX 驱动程序不一定支持的 SAX2 设施的接口。 org.xml.sax.helpers 此包包含“帮助器”,其包括对引导基于 SAX 的应用程序的支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值