「javaio工具类」java工具有哪些
今天给各位分享javaio工具类的知识,其中也会对java工具有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java两个输入包 io与 util 的区别?
- 2、关于java工具类的理解 为什么java要提出个工具类的概念,按照面向对象的思想为什么不直接把工具
- 3、java怎么使用io流读取一个文件夹里面
- 4、Java常用包有哪些?
- 5、程序员的福音 - Apache Commons IO
java两个输入包 io与 util 的区别?
java.long : 提供利用 Java 编程语言进行程序设计的基础类。
java.util : 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
java.io : 通过数据流、序列化和文件系统提供系统输入和输出。
应该只需要学会这些包下的某些类就可以了,你不会打算把这几个包的所有类都学吧!都学固然好但是有些是平时用不到的。再说这些可以用帮助文档现查!学习java个人认为类的学习不是重点,重点是java的编程思想。
关于java工具类的理解 为什么java要提出个工具类的概念,按照面向对象的思想为什么不直接把工具
工具类其实就是对于String,Collection,IO等常用类的功能的扩展。比如IO读写文件。其实大多数时候我希望有一个文件路径,然后调个方法就直接得到文件内容(字符串或者字节数组形式)。
如果没有工具类,那么你每个读文件的地方都有一段重复的代码。所以,你肯定会被这个功能提取出来。那么,你提取出来放哪儿呀?要知道这个功能可是在任何类都能调用的。所以,我们就放在FileUtil里面了。
这样,你以后读取文件时,你就找FileUtil的read方法,直接调用即可。
为什么要将方法和变量都写成静态的。因为,这些方法我只是想调用一下,不需要牵扯工具类中的任何属性和变量,所以,我就没有必要实例化了(new)。既然不需要实例化了,那么就用静态就行了。
java怎么使用io流读取一个文件夹里面
使用工具类Properties
工具类有Load()方法 用于加载文件
首先将文件写成流(输入)
File file=new File(confPath);
in = new FileInputStream(file);
加载流load(in)如果需要操作则完成具体操作
输出流并保存文件
out2 = new OutputStreamWriter(new FileOutputStream(confPath),"GBK");
cp.store(out2);
完成
具体实例代码
public String updateConfParam(ConfParam cpl) throws IOException {
String error = null;
Properties cp=new Properties();
InputStream in= null;
OutputStreamWriter out1=null;
OutputStreamWriter out2=null;
JSONObject jObj = new JSONObject();
try {
String confPath=validateSystem(cpl.getConfAddress()+"/"+cpl.getConfName());
File file=new File(confPath);
in = new FileInputStream(file);
cp.load(in);
out1=new OutputStreamWriter(new FileOutputStream(confPath+".bak"),"GBK");
cp.store(out1);
cpl.setParaOldValue(cp.getProperty(cpl.getParaKey()));
cp.setProperty(cpl.getParaKey(), cpl.getParaValue());
out2 = new OutputStreamWriter(new FileOutputStream(confPath),"GBK");
cp.store(out2);
jObj.put("paraOldValue", cpl.getParaOldValue());
jObj.put("paraValue", cpl.getParaValue());
} catch (FileNotFoundException e) {
error=e.getMessage();
} catch (IOException e1) {
error = e1.getMessage();
}
finally{
if(in !=null){
in.close();
}
if(out1 !=null){
out1.close();
}
if(out2 !=null){
out2.close();
}
if(error != null){
jObj.put("error", error);
}
}
return jObj.toString();
}
Java常用包有哪些?
1.Java.lang包
这个包下包含了Java语言的核心类,如String、Math、Sytem和Thread类等,使用这个包无需使用import语句导入,系统会自动导入这个包中的所有类。
2.Java.util包
这个包下包含java的大量工具类/接口和集合框架类/接口。如Arrays和List、Set等。
3.Java.net包
这个包下包含了一些Java网络编程相关的类/接口。
4.java.io包
这个包含了一些Java输入/输出编程相关的类/接口。
5.java.text包
这个包下包含一些Java格式化相关的类。
6.java.sql包
这个包下包含了java进行JDBC数据库编程的相关类/接口。
7.java.awt包
这个包下包含了抽象窗口工具集(Abstract Window Toolkits) 的相关类/接口,这些类主要用于构建图形用户界面(GUI)程序。
8.java.swing包
这个包下包含了Swing图形用户界面编程的相关类/接口,这些可用于构建平台无关的GUI程序。
程序员的福音 - Apache Commons IO
此文是系列文章第三篇,前几篇请点击链接查看
程序猿的福音 - Apache Commons简介
程序员的福音 - Apache Commons Lang
Apache Commons IO 是对java.io的扩展,主要是对Java中的bio封装了一些好用的工具类,nio涉及的较少,关于bio和nio问题我们后续再聊。
Commons IO目前最新版本是2.10.0,最低要求Java8以上。
以下为整体结构:
下面只列举其中常用的加以说明,其余感兴趣的可以自行翻阅源码研究。
IOUtils可以说是Commons IO中最常用的了,下面直接看例子。
文件相关主要有FileUtils:文件工具类,FilenameUtils:文件名工具类,PathUtils:路径工具类(主要是操作JDK7新增的java.nio.file.Path类)
org.apache.commons.io.input和org.apache.commons.io.output包下有许多好用的过滤流,下面列举几个做下说明
可观察的输入流(典型的观察者模式),可实现边读取边处理
比如将某些字节替换为另一个字节,计算md5摘要等
当然你也可以完全写到文件后在做处理,这样相当于做了两次遍历,性能较差。
这是一个基类,使用时需要继承它来扩展自己的流,示例如下:
org.apache.commons.io.compare包有很多现成的文件比较器,可以对文件排序的时候直接拿来用。
DefaultFileComparator :默认文件比较器,直接使用File的compare方法。(文件集合排序( Collections.sort() )时传此比较器和不传效果一样)
DirectoryFileComparator :目录排在文件之前
ExtensionFileComparator :扩展名比较器,按照文件的扩展名的ascii顺序排序,无扩展名的始终排在前面
LastModifiedFileComparator :按照文件的最后修改时间排序
NameFileComparator :按照文件名称排序
PathFileComparator :按照路径排序,父目录优先排在前面
SizeFileComparator :按照文件大小排序,小文件排在前面(目录会计算其总大小)
CompositeFileComparator :组合排序,将以上排序规则组合在一起
使用示例如下:
org.apache.commons.io.monitor包主要提供对文件的创建、修改、删除的监听操作,下面直接看简单示例。
除了以上介绍的工具类外,还有其他不是很常用的就不多做介绍了。感兴趣的可以自行翻阅源码研究。
后续章节我将继续给大家介绍commons中其他好用的工具类库,期待你的关注。
关于javaio工具类和java工具有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。