public class Util { /** * 读文件到内存,返回的编码方式是utf-8 * @param fileName * @return * 2011-11-2 */ public static String readFile(String fileName){ File file = new File(fileName); Reader reader = null; StringBuffer buf = new StringBuffer(); String outString =""; try { //以utf-8的形式读入文件 reader = new InputStreamReader(new FileInputStream(file),"utf-8"); int tempchar; while ((tempchar = reader.read()) != -1) { if (((char) tempchar) != '\r') { char aa = (char) tempchar; buf.append((char) tempchar); } } outString = buf.toString(); //判断读入的文件编码方式是否是gb2312的形式,要是不是,重新以gb2312的形式读入文件,之后再改成utf-8的形式 if(buf.toString().contains("charset=gb2312")){ buf = new StringBuffer(); //以gb2312的形式读入文件 reader = new InputStreamReader(new FileInputStream(file),"gb2312"); while ((tempchar = reader.read()) != -1) { if (((char) tempchar) != '\r') { char aa = (char) tempchar; buf.append((char) tempchar); } } outString = Util.code2code(buf.toString(), "gb2312", "utf-8"); } reader.close(); } catch (Exception e) { e.printStackTrace(); } return outString; } /** * 输出文件 * @param fileName * @param s * 2011-11-2 */ public static void writerFile(String fileName,String s){ String mkd = fileName.substring(0, fileName.lastIndexOf("\\")); //生成目录 new File(mkd).mkdirs(); FileWriter fw; try { fw = new FileWriter(fileName); fw.write(s); fw.flush(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 读目录,把目录下的文件名生成List * @param delpath * @return * 2011-11-2 */ public static List readDirectory(String delpath){ List list = new ArrayList(); File file = new File(delpath); String[] monthlist = file.list(); int l=1; for (int i = 0; i < monthlist.length; i++) { File monthfile = new File(delpath + "\\" + monthlist[i]); String monthpath=monthfile.getPath(); String[] daylist = monthfile.list(); for(int j = 0 ; j < daylist.length ; j++){ File dayfile = new File(monthpath + "\\" + daylist[j]); String[] contentlist = dayfile.list(); String datepath=dayfile.getPath(); if(contentlist!=null){ for(int k =0;k < contentlist.length;k++){ File content = new File(datepath + "\\" + contentlist[k]); String path = content.getPath(); list.add(content.getPath()); System.out.println(l++); // System.out.println(content.getPath()); } } } } System.out.println("******"); return list; } /** * 编码转换 * @param strIn 要转换的字符串 * @param sourceCode 原来的编码方式 * @param targetCode 目标编码方式 * @return * 2011-11-2 */ public static String code2code(String strIn, String sourceCode,String targetCode) { String strOut = null; if (strIn == null || (strIn.trim()).equals("")) return strIn; try { byte[] b = strIn.getBytes(sourceCode); String str = new String(b, sourceCode); byte[] c = str.getBytes(targetCode); strOut = new String(c, targetCode); } catch (Exception e) { e.printStackTrace(); return null; } return strOut; } }
相关推荐
一个非常好用的csv文件操作工具
java通过snakeyaml类能非常方便的操作,读写yaml文件。
本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
4. **XML读写工具类**: Java标准库中的`javax.xml`包提供了基础的XML处理,但实际开发中更常用的是`DOM`、`SAX`或`JAXB`等解析器。此外,`org.dom4j`或`com.thoughtworks.xstream`等库提供了更便捷的XML操作。 5....
在Java编程中,SQLite是一种轻量级的、嵌入式的关系型...通过导入jar包和使用工具类,开发者可以快速地在Java项目中实现对SQLite数据库的读写操作,而无需复杂的环境配置。这对于小型项目或学习数据库操作非常有用。
在这个名为"牛逼的java常用工具类"的压缩包中,我们可以期待找到一些由经验丰富的开发者精心设计和优化的工具类,这些工具类能极大地提高开发效率,减少代码量,使程序更加健壮。下面,我们将详细探讨一些可能包含在...
在Java编程中,工具类(Util Classes)是包含各种实用方法的静态类,它们提供了一种简化常见任务的方式。"java常用工具类封装"是指将常见的功能如线程管理、数据解析、第三方库集成等进行封装,以提高代码的可重用性...
大家可以不用在为操作文件发愁了! 小弟觉得这个工具类还不是很完善,高手在帮忙完善一下,别忘了共享出来哦!
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
JavaUtils工具类是Java开发中常见的一类辅助代码集合,它们通常包含各种静态方法,用于简化常见的编程任务,提高开发效率。这篇博文链接(已提供但无法直接访问)可能详细探讨了JavaUtils工具类的设计原则、常用方法...
本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔
在Java编程中,工具类(Utility Classes)是非常重要的组成部分,它们提供了许多通用的功能,以简化开发人员的工作。以下是对"一些java常用的工具类"的详细说明。 首先,工具类通常包含静态方法,这些方法不依赖于...
- 文件操作是开发中常见的需求,这类工具类可能包含读写文件、创建删除文件或目录、文件流处理等功能。例如,`FileUtils`类可能封装了Java的`File`类和`InputStream/OutputStream`的常用操作,提供了一致和简单的...
Java工具类库是Java开发中的重要组成部分,它们提供了一系列预定义的函数,帮助开发者更高效地处理各种常见任务。在Java中,工具类通常被组织在各种不同的包下,如`java.util`、`java.lang`、`java.io`等。这些工具...
Java 文件读写工具类分享 Java 文件读写工具类是 Java 语言中一个非常重要的工具类,主要用于实现文件的读写操作。在本文中,我们将详细介绍 Java 文件读写工具类的使用和实现。 获取项目根目录 在 Java 文件读写...
"java常用工具类"这个主题涵盖了Java开发中常用的类和方法,这些工具类可以帮助我们简化编程工作,提高代码的可读性和可维护性。在Java中,`java.util`包就是这样一个包含大量工具类的包,提供了很多实用的功能。 1...
主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...
Java工具类是Java编程中非常重要的组成部分,它们提供了一系列便捷的方法,可以极大地提高开发效率,减少重复代码。这里我们主要探讨的是一个集合了多种常见功能的Java工具类库。 首先,我们要理解Java工具类(Java...
在Java开发过程中,工具类(Util Classes)是程序员经常使用的一种设计模式,它们提供了一些静态方法,方便在多个类或模块之间复用。本压缩包包含14个针对Java和Android开发的实用工具类,涵盖了图片上传、HTTP协议...