- 浏览: 99682 次
- 性别:
- 来自: 深圳
最新评论
-
weizaiC:
[flash=200,200][/flash]
ExtJS实现下拉列表级联 -
yanxunjian:
Java实现读取xml文件sql配置转换为JDBC SQL
...
Java实现读取xml文件sql配置转换为JDBC SQL -
road_16:
奶奶的,大妹子的
ExtJS实现下拉列表级联 -
road_16:
2.0版本的前台显示不了数据,3.0版本的才可以,检查了大半天 ...
ExtJS实现下拉列表级联 -
road_16:
怎么不说明extjs所使用的版本呢?版本不一样,写法也是不同的 ...
ExtJS实现下拉列表级联
JAVA读写文件基本方法
- 博客分类:
- J2se
JAVA读写文件的基本方法,Reader 类是 Java 的 I/O 中读字符的父类,而 InputStream 类是读字节的父类,InputStreamReader 类就是关联字节到字符的桥梁,它负责在 I/O 过程中处理读取字节到字符的转换,而具体字节到字符的解码实现它由 StreamDecoder 去实现,在 StreamDecoder 解码过程中必须由用户指定 Charset 编码格式。值得注意的是如果你没有指定 Charset,将使用本地环境中的默认字符集,例如在中文环境中将使用 GBK 编码。
写的情况也是类似,字符的父类是 Writer,字节的父类是 OutputStream,通过 OutputStreamWriter 转换字符到字节。
下面是我的具体实现对一个文件的读写操作:
package j2se.common; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; /** * * 功能描述:读取文件与输入文件工具类 * * @author lizhenbin * * <p>修改历史:(修改人,修改时间,修改原因/内容)</p> */ public class IOUtil { /** * ISO编码 */ private static final String ISO_ENCODE = "ISO-8859-1"; /** * GBK编码 */ private static final String GBK_ENCODE = "GBK"; /** * UTF-8编码 */ private static final String UTF_ENCODE = "UTF-8"; /** * 缓冲区大小 */ private static final int BUF_SIZE = 64; /** * 构建单例模式 */ private static final IOUtil instance = new IOUtil(); private IOUtil() {} public static IOUtil getInstance() { return instance; } /** * * 功能描述:通过OutputStreamWriter写入文件 * * @author lizhenbin * <p>创建日期 :Aug 19, 2012 11:35:23 AM</p> * * @param filePath * 文件路径 * @param charset * 字符集 * @param message * 写入文件内容 * @return * * <p>修改历史 :(修改人,修改时间,修改原因/内容)</p> */ public static boolean writeByOutputStreamWriter(String filePath, String charset, Object message) { if(!paramCheck(filePath) || !paramCheck(charset)) return false; if(message == null) message = ""; OutputStream outs = null; OutputStreamWriter writer = null; try { outs = new FileOutputStream(filePath); writer = new OutputStreamWriter(outs, charset); writer.write(message.toString()); return true; } catch (Exception e) { e.printStackTrace(); } finally { if(writer != null) try { writer.close(); } catch (IOException e) { e.printStackTrace(); } if(outs != null) try { outs.close(); } catch (IOException e) { e.printStackTrace(); } } return false; } /** * * 功能描述:通过InputStreamReader读取文件 * * @author lizhenbin * <p>创建日期 :Aug 19, 2012 11:28:33 AM</p> * * @param filePath * 文件URL * @param charset * 字符集 * @return * * <p>修改历史 :(修改人,修改时间,修改原因/内容)</p> */ public static String readByInputStreamReader(String filePath, String charset) { if(!paramCheck(filePath) || !paramCheck(charset)) return null; InputStream ins = null; InputStreamReader reader = null; try { ins = new FileInputStream(filePath); reader = new InputStreamReader(ins, charset); StringBuffer sb = new StringBuffer(); char[] buf = new char[BUF_SIZE]; int count = 0; while((count = reader.read(buf)) != -1) { sb.append(buf, 0, count); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); } finally { if(reader != null) try { reader.close(); } catch (IOException e) { e.printStackTrace(); } if(ins != null) try { ins.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } /** * * 功能描述:ISO-8859-1编码的字符串转换成GBK * * @author lizhenbin * <p>创建日期 :Aug 19, 2012 11:42:19 AM</p> * * @param isoStr * ISO编码字符串 * @return * * <p>修改历史 :(修改人,修改时间,修改原因/内容)</p> */ public static String isoToGBK(String isoStr) { try { return new String(isoStr.getBytes(ISO_ENCODE), GBK_ENCODE); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } /** * * 功能描述:ISO-8859-1编码的字符串转换成UTF-8 * * @author lizhenbin * <p>创建日期 :Aug 19, 2012 11:42:19 AM</p> * * @param isoStr * ISO编码字符串 * @return * * <p>修改历史 :(修改人,修改时间,修改原因/内容)</p> */ public static String isoToUtf8(String isoStr) { try { return new String(isoStr.getBytes(ISO_ENCODE), UTF_ENCODE); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } /** * * 功能描述:空值验证 * * @author lizhenbin * <p>创建日期 :Aug 19, 2012 11:22:34 AM</p> * * @param filePath * @return * * <p>修改历史 :(修改人,修改时间,修改原因/内容)</p> */ private static boolean paramCheck(String param) { if(param != null && !param.equals("")) return true; return false; } public static void main(String[] args) { IOUtil io = IOUtil.getInstance(); System.out.println(io.readByInputStreamReader("d:\\test.txt", IOUtil.GBK_ENCODE)); } }
发表评论
-
poi创建Excel设计
2013-11-18 22:32 768电商商务,目前为止,做网站后台管理系统对到处数 ... -
程序员改变命运之程序,500W来了,信不信由你,每天JAVAC编译一下,JAVA一下500W就来了
2012-08-20 18:43 63胡乱写了一个随机数“双色球”程序,都是随机数,500W你信就有 ... -
Java实现读取xml文件sql配置转换为JDBC SQL
2012-06-26 18:46 2437公司的框架都是用原生的JDBC框架,其中操作数据很 ... -
主键字符串自增Java实现
2012-06-09 17:41 5544程序实现字符串主键自增,例如:“SN000001” ... -
将Java字符串数组转化成对应的Entity
2012-06-06 09:14 3745最近新工作的 ... -
将简单的POJO转化为JSON或者XML
2012-05-10 18:04 1935利用反射机制获取类的信息,然后将所得的信息,转化成JSON数据 ... -
UDP通信
2012-05-10 17:54 913UDP通信,发送端发送数据,接受端接收数据,发送端发送数据不需 ... -
Java遍历、删除Map
2012-05-10 17:42 3495面试的时候,遇到一个很尴尬的事情,就是面试官问怎么 ... -
Java使用JXL创建Excel文件
2012-05-10 17:24 1908以前写过用jxl读取excel的,但是一直没有写 ... -
Java创建xml与排序
2012-05-05 19:53 2707DOM创建xml package com.lzb.model ... -
Java多线程
2012-05-05 19:49 786一个很有意思的题目,网上看到的,自己写了一下 题目的大概意思 ... -
Java的反射机制
2012-05-06 20:20 894Java的反射机制可以理解成,Java类Class ... -
TCP通信
2012-04-27 16:22 948TCP通信的一个模板 TCP的服务端用while一直接收客户 ... -
Java实现IP地址定位地址信息
2012-03-14 11:06 11305做电子商务网站的时候,网站的头部一般都有显示是哪个 ... -
Java文件操作
2012-02-07 16:34 850在工作中,经常要获取到文件所在的路径和创建文件夹,这里补充一下 ... -
MD5类使用
2012-01-12 11:13 1015对用户注册的密码加密类,采用MD5算法,留着以后用 注意,B ... -
验证码生成
2012-01-12 10:19 901系统登陆或者注册的时 ... -
Java取时间的一个类
2012-01-09 14:43 1142整理了一下自己开发过程中经常使用到的一个时间类,当做工具类使用 ... -
jdbc连接池
2011-12-30 16:49 875自己整理的一个JDBC驱动,方便以后离开框架直接测试,在mys ... -
Java创建文件和文件路径
2011-12-30 16:30 1854最近在开发过程中,经 ...
相关推荐
java中常用文件读写的详细例了说明(java中常用的IO)
本案例中利用Apache Poi读取Excel用法,源码注释详细基本用法!
这个文件中包含测试的Demo和需要的jar包,Demo中有两种方式来获取视频的分辨率,大小等基本信息,简单易上手,亲测有效,没效你顺着网线过来da我
对FTP服务器文件的基本操做:上传下载递归目录遍历等。
Java 中的一些基本文件操作,包括:文件操作(移动、读写)和文本文件读写
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
完整apk读取,如不理解,可加我QQ咨询:444972427~非技术人员请勿打扰~ ...2.testAPK 读取apk文件图片 3.test读取apk中AndroidManifest.xml文件 4.ZipUtils解压文件 5.JFileSearch查询文件 6.ReadFromFile读文件
提供java中对文件类的各种基本操作,主要包括获取文件的后缀名称,读取文件内容,写入文件内容,拷贝文件,将文件转换为二进制数组等操作,转换为Blob格式类等操作
java io读取word文件的基本操作 简单易用 其中用到组件tm-extractors-0.4.jar 说明:需要把tm-extractors-0.4.jar放到类路径下面
这是做项目中,集成第三东西需要些配置,我抽取到属性文件中,然后写了个公用类统一调用,基本就是key返回具体值,属性文件位置自己可以调整,然后类中修改获取路径就可以了。目前我的属相文件放置在src下
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,...
项目中要求读取指定邮件未读邮件的内容,在网上查了很多资料发现都不行,不是自己想要的,要么是读取最新的,要么是读取第一封邮件,根本就不能读取未读的旧邮件。...java读取未读邮件内容包括附件包含javamail.jar
92分2秒---143.46M---LabView02---第11章文件的IO及保存.wmv---F:/Resource/video/硬件/AltiumDesigner/LabView02-第11章文件的IO及保存.wmv 37分22秒---58.09M---LabView03---第12章LabVIEW的通信.wmv---F:/...
将100个随机生成的小数写入文件,要求以‘#’分隔,然后从文件中以此读出每一个小数,求其中最大值,最小值,平均值,文件有详细的说明,主要运用了RandomAccessFile类的相关方法,有然后任何不懂可以提问,会进行...
这个是一个Java程序的压缩包,内容主要是在Java程序中读取调用xml文件,通过Java程序编写xml文件等基础操作。代码很简单,其中包含dom4j的基础用法。
本文将从文件传输的基本原理入手,分析如何用 java进行文件的上传,并提出解决方案。 一、基本原理 通过 HTML 上载文件的基本流程如下图所示。浏览器端提供了供用户选择提交内容的界面(通常是一个表单),在用户...
Java中的文件下载是通过输入输出流实现的,将远程服务器的文件读取到本地,从而实现文件的下载。 Java进行文件下载的方法 Java中可以使用HttpURLConnection或者Apache HttpClient等工具类进行文件下载,通过设置请求...
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术...
java实现mysql数据库的表导出到excel文件,已经基本的demo包含jar包,可以导入的eclipse里面。比较好用吧
Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术...