代码实例 |
String path = FileUtil.normalizePath("C:\\Documents and Settings\\Administrator\\Desktop\\Framework2.x\\JAVA\\com\\zving\\framework\\utility"); //输出结果:C:/Documents and Settings/Administrator/Desktop/Framework2.x/JAVA/com/zving/framework/utility
String path = FileUtil.normalizePath("../JAVA/com/zving/framework/utility"); //结果:/JAVA/com/zving/framework/utility |
File normalizeFile(File f)
将文件路径规则化,去掉其中多余的/和\,去掉可能造成文件信息泄漏的../。
代码实例 |
File f = new File("d:\\Test.txt"); File f2 = FileUtil.normalizeFile(f); System.out.println(f2.getAbsolutePath()); //输出结果:d:\Test.txt |
String getExtension(String fileName)
得到文件名中的扩展名,不带圆点。
代码实例 |
String ext = FileUtil.getExtension("Test.txt"); |
boolean writeText(String fileName, String content)
以全局编码将指定内容写入指定文件。
代码实例 |
boolean b = FileUtil.writeText("F:\\Test.txt", "高山流水"); |
boolean writeText(String fileName, String content, String encoding)
以指定编码将指定内容写入指定文件。
代码实例 |
FileUtil.writeText("F:\\Test1.txt", "高山流水","ISO-8859-1"); //出现乱码 FileUtil.writeText("F:\\Test2.txt", "高山流水","utf-8"); |
boolean writeText(String fileName, String content, String encoding, boolean bomFlag)
以指定编码将指定内容写入指定文件,如果编码为UTF-8且bomFlag为true,则在文件头部加入3字节的BOM。
代码实例 |
FileUtil.writeText("F:\\Test1.txt", "Hello ZVING","UTF-8",true); FileUtil.writeText("F:\\Test2.txt", "高山流水","utf-8",false); |
byte[] readByte(String fileName)
以二进制方式读取文件。
代码实例 |
byte b[] = FileUtil.readByte("F:/Test1.txt"); |
byte[] readByte(File f)
以二进制方式读取文件。
代码实例 |
File f = new File("F:/Test1.txt"); byte b[] = FileUtil.readByte(f); |
byte[] readByte(InputStream is)
读取指定流,并转换为二进制数组。
代码实例 |
File f = new File("F:/Test1.txt"); try { InputStream in = new FileInputStream(f); byte b[] = FileUtil.readByte(in); System.out.println(b.length); } catch (FileNotFoundException e) { e.printStackTrace(); } |
boolean writeByte(String fileName, byte[] b)
将二进制数组写入指定文件。
代码实例 |
byte b[] = "hello world".getBytes(); FileUtil.writeByte("F:/Test2.txt", b); |
boolean writeByte(File f, byte[] b)
将二进制数组写入指定文件。
代码实例 |
File f = new File("F:/Test1.txt"); byte b[] = "hello world".getBytes(); FileUtil.writeByte(f, b); |
String readText(File f)
以全局编码读取指定文件中的文本。
代码实例 |
File f = new File("F:/Test1.txt"); String content = FileUtil.readText(f); |
String readText(File f, String encoding)
以指定编码读取指定文件中的文本。
代码实例 |
File f = new File("F:/Test1.txt"); String content = FileUtil.readText(f,"gbk"); |
String readText(InputStream is, String encoding)
以指定编码读取流中的文本,如果是UTF8则要判断有没有BOM。
代码实例 |
File f = new File("F:/Test1.txt"); InputStream in = new FileInputStream(f); String content = FileUtil.readText(in,"gbk"); |
String readText(String fileName)
以全局编码读取指定文件中的文本。
代码实例 |
String content = FileUtil.readText("F:/Test2.txt"); |
String readText(String fileName, String encoding)
以指定编码读取指定文件中的文本。
代码实例 |
String content = FileUtil.readText("F:/Test1.txt","gbk"); |
String readURLText(String urlPath)
以全局编码读取指定URL中的文本。
代码实例 |
String content = FileUtil.readURLText("http://www.baidu.com"); |
String readURLText(String urlPath, String encoding)
以指定编码读取指定URL中的文本。
代码实例 |
String content = FileUtil.readURLText("http://www.baidu.com","GBK"); |
boolean delete(String path)
删除文件,不管路径是文件还是文件夹都删掉, 删除文件夹时会自动删除子文件夹。
代码实例 |
FileUtil.delete("F:/Test2.txt"); FileUtil.delete("F:/test"); |
boolean delete(File f)
删除文件,不管路径是文件还是文件夹都删掉, 删除文件夹时会自动删除子文件夹。
代码实例 |
File f = new File("F:/test.txt"); File f2 = new File("F:/test"); FileUtil.delete(f); FileUtil.delete(f2);
|
boolean deleteDir(File dir)
删除文件夹及其子文件夹。
代码实例 |
方法私有。 |
boolean mkdir(String path)
创建文件夹。
代码实例 |
FileUtil.mkdir("F:/test/test"); |
boolean exists(String path)
判断文件或文件夹是否存在。
代码实例 |
boolean b = FileUtil.exists("F:/test/test"); |
boolean deleteEx(String fileName)
通配符方式删除指定目录下的文件或文件夹, 文件名支持使用正则表达式(文件路径不支持正则表达式)。
代码实例 |
|
boolean deleteFromDir(String dirPath)
删除文件夹里面的所有文件,但不删除自己本身。
代码实例 |
boolean b = FileUtil.deleteFromDir("F:/test"); |
boolean deleteFromDir(File dir)
删除文件夹里面的所有文件和子文件夹,但不删除自己本身。
代码实例 |
File f = new File("F:/test"); boolean b = FileUtil.deleteFromDir(f); |
boolean copy(String oldPath, String newPath, FileFilter filter)
从指定位置复制文件到另一个文件夹,复制时不符合filter条件的不复制。
代码实例 |
@Test public void testUtil(){ FileFilter filter = new FileFilter(){ @Override public boolean accept(File pathname) { String fileName = pathname.getName().toLowerCase(); if(fileName.endsWith(".java")){ return true; } return false; } }; FileUtil.copy("F:/test/t1", "F:/test/t2", filter); } |
boolean copy(String oldPath, String newPath)
从指定位置复制文件到另一个文件夹。
代码实例 |
boolean b = FileUtil.copy("F:/test/a/a.txt", "F:/test/b"); |
boolean copy(File oldFile, String newPath)
从指定位置复制文件到另一个文件夹。
代码实例 |
File f = new File("F:/test/a/a.txt"); boolean b = FileUtil.copy(f, "F:/test/b");
File f = new File("F:/test/a/"); boolean b = FileUtil.copy(f, "F:/test/b"); |
private static boolean copyFile(File oldFile, String newPath)
复制单个文件。
代码实例 |
|
private static boolean copyDir(File oldDir, String newPath)
复制整个文件夹内容。
代码实例 |
|
boolean move(String oldPath, String newPath)
移动文件到指定目录。
代码实例 |
boolean b = FileUtil.move("F:/test/b/a.txt", "F:/test/a"); |
boolean move(File oldFile, String newPath)
移动文件到指定目录。
代码实例 |
File f = new File("F:/test/b/b.txt"); boolean b = FileUtil.move(f, "F:/test/a"); |
void serialize(Serializable obj, String fileName)
将可序列化对象序列化并写入指定文件。
代码实例 |
class User implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age;
public User(){}; public User(String name,int age){ this.name = name; this.age = age; }
public String getName() { return name; } public void setName(String name) { this.name = name; }
public int getAge() { return age; } public void setAge(int age) { this.age = age; }; }
Serializable s = new User("张三",21); FileUtil.serialize(s, "F:/test/a/a.txt");
|
byte[] serialize(Serializable obj)
将可序列化对象序列化并返回二进制数组。
代码实例 |
public class UtilTest { @Test public void testGetFormat(){ Serializable s = new User("张三",21); byte b[] = FileUtil.serialize(s); System.out.println(b.length); } }
class User implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age;
public User(){}; public User(String name,int age){ this.name = name; this.age = age; }
public String getName() { return name; } public void setName(String name) { this.name = name; }
public int getAge() { return age; } public void setAge(int age) { this.age = age; }; } |
Object unserialize(String fileName)
从指定文件中反序列化对象。
代码实例 |
User u = (User)FileUtil.unserialize("F:/test/a/a.txt"); System.out.println(u.getName()); |
Object unserialize(byte[] bs)
从二进制数组中反序列化对象。
代码实例 |
User user = new User("zhang3",23); byte b[] = FileUtil.serialize(user); User u = (User)FileUtil.unserialize(b); |
byte[] mapToBytes(Mapx<?, ?> map)
将一个Mapx高性能序列化,键值只能为字符串。
代码实例 |
Mapx<String,String> mapx = new Mapx<String,String>(); mapx.put("001", "zhangsan"); mapx.put("002", "lisi"); byte b[] = FileUtil.mapToBytes(mapx); |
Mapx<Object, Object> bytesToMap(byte[] arr)
将一个二进制数组反序列化为Mapx。
代码实例 |
Mapx<String,String> mapx = new Mapx<String,String>(); mapx.put("001", "zhangsan"); mapx.put("002", "lisi"); byte b[] = FileUtil.mapToBytes(mapx); Mapx<Object,Object> map = FileUtil.bytesToMap(b); |
所有评论仅代表网友意见