- 浏览: 101282 次
- 性别:
- 来自: 深圳
最新评论
-
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读写文件的基本方法,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 794电商商务,目前为止,做网站后台管理系统对到处数 ... -
程序员改变命运之程序,500W来了,信不信由你,每天JAVAC编译一下,JAVA一下500W就来了
2012-08-20 18:43 63胡乱写了一个随机数“双色球”程序,都是随机数,500W你信就有 ... -
Java实现读取xml文件sql配置转换为JDBC SQL
2012-06-26 18:46 2510公司的框架都是用原生的JDBC框架,其中操作数据很 ... -
主键字符串自增Java实现
2012-06-09 17:41 5640程序实现字符串主键自增,例如:“SN000001” ... -
将Java字符串数组转化成对应的Entity
2012-06-06 09:14 3844最近新工作的 ... -
将简单的POJO转化为JSON或者XML
2012-05-10 18:04 1987利用反射机制获取类的信息,然后将所得的信息,转化成JSON数据 ... -
UDP通信
2012-05-10 17:54 955UDP通信,发送端发送数据,接受端接收数据,发送端发送数据不需 ... -
Java遍历、删除Map
2012-05-10 17:42 3569面试的时候,遇到一个很尴尬的事情,就是面试官问怎么 ... -
Java使用JXL创建Excel文件
2012-05-10 17:24 1946以前写过用jxl读取excel的,但是一直没有写 ... -
Java创建xml与排序
2012-05-05 19:53 2732DOM创建xml package com.lzb.model ... -
Java多线程
2012-05-05 19:49 810一个很有意思的题目,网上看到的,自己写了一下 题目的大概意思 ... -
Java的反射机制
2012-05-06 20:20 927Java的反射机制可以理解成,Java类Class ... -
TCP通信
2012-04-27 16:22 979TCP通信的一个模板 TCP的服务端用while一直接收客户 ... -
Java实现IP地址定位地址信息
2012-03-14 11:06 11363做电子商务网站的时候,网站的头部一般都有显示是哪个 ... -
Java文件操作
2012-02-07 16:34 872在工作中,经常要获取到文件所在的路径和创建文件夹,这里补充一下 ... -
MD5类使用
2012-01-12 11:13 1048对用户注册的密码加密类,采用MD5算法,留着以后用 注意,B ... -
验证码生成
2012-01-12 10:19 939系统登陆或者注册的时 ... -
Java取时间的一个类
2012-01-09 14:43 1168整理了一下自己开发过程中经常使用到的一个时间类,当做工具类使用 ... -
jdbc连接池
2011-12-30 16:49 906自己整理的一个JDBC驱动,方便以后离开框架直接测试,在mys ... -
Java创建文件和文件路径
2011-12-30 16:30 1892最近在开发过程中,经 ...
相关推荐
根据给定的文件信息,我们可以总结出一系列关于Java中读取文件的方法,这些方法涵盖了不同层次的数据读取,包括字节、字符以及行级别的读取。以下是对这些知识点的详细阐述: ### Java读取文件方法大全:读取File流...
Java中`java.io.FileInputStream`类提供了按字节读取文件的功能。这种方法适用于读取二进制文件,例如图像、音频或视频文件。下面的代码示例展示了如何按字节读取文件: ```java FileInputStream in = new ...
在上述代码中,`BufferedReader`的`readLine()`方法用于按顺序读取文件内容,直到文件末尾。如果文件内容较多,使用缓冲可以显著提高读取速度,因为数据会一次性读入内存,而不是每次读取一个字符。 除了`...
Java语言在处理文件I/O操作时提供了多种方法,这些方法可以按照不同的策略读取文件,例如按字节或字符进行。下面将详细讲解Java中读取文件的主要方法,并结合给出的代码片段进行分析。 首先,Java中最基础的文件...
在JAVA中,Socket是最基本的网络编程接口,用于建立客户端和服务器端之间的连接。RemoteFileClient类使用Socket连接到RemoteFileServer,以便读取远程文件。Socket编程可以分为两个部分:客户端编程和服务器端编程。...
通过以上方法,Java开发者可以实现从局域网共享机器上读取文件的功能。这个过程涉及到网络通信、文件I/O以及可能的身份验证,是Java网络编程中的一项重要技能。在开发过程中,了解和熟练掌握这些知识点对于解决实际...
在Java编程语言中,读取文件是一项常见的操作,尤其是...总之,理解如何在Java中读取文件是每个开发者的基本技能之一。掌握了这种方法,就可以轻松处理各种文件操作需求,无论是简单的文本文件还是更复杂的二进制数据。
本示例主要介绍了四种在Java中读取文件的方法:按字节读取、按字符读取、按行读取以及随机读取。 1. **按字节读取文件内容**: - `FileInputStream` 类是用于按字节读取文件内容的基础类。在`ReadFromFile`类的`...
在Java编程中,读写文件是一项基础且重要的任务,...以上就是关于“Java读写文件(txt)”的知识点,包括文件的读取、内容转换、正则匹配以及文件的写入。希望这些内容能帮助你理解和掌握Java在文件操作上的基本技能。
- 读取文件和操作数据库完成后,记得关闭`BufferedReader`、`FileReader`、`PreparedStatement`和`Connection`,以释放系统资源。 ```java br.close(); fr.close(); pstmt.close(); conn.close(); ``` 以上就是...
// 读取文件版本信息 FileVersion fileVersion = reader.getFileVersion(); System.out.println("文件版本: " + fileVersion.getMajor() + "." + fileVersion.getMinor()); // 读取整个项目文件 ProjectFile ...
在Java编程中,读取本地SQLite数据库(.db文件)是一项常见的任务,特别是在移动应用开发或者需要离线存储数据的场景下。SQLite是一种轻量级的、开源的关系型数据库,它不需要单独的服务器进程,可以直接在应用程序...
- **实现方法**:通过`BufferedReader`逐行读取文件,并将每一行追加到`StringBuffer`对象中。`BufferedReader`能够提高读取效率,因为它支持一次读取一行数据。 ```java public void readToBuffer(StringBuffer ...
以上就是Java中读取目录下指定文件的基本方法。通过灵活运用`File`类及其相关方法,可以实现各种复杂的文件操作需求。在实际开发中,根据具体场景选择合适的方法,并确保处理异常,以保证程序的健壮性。
除了基本的读写,Java还提供了更多高级功能,如文件的复制、移动、删除、重命名等。例如,可以使用`Files.copy()`方法复制文件,`Files.move()`方法移动文件,`file.delete()`方法删除文件,以及`file.renameTo()`...
根据提供的文件信息,本文将详细介绍Java中用于读取文件的各种方法。这包括使用不同类(如`InputStream`, `FileInputStream`, `BufferedReader`, `InputStreamReader`等)来按字节或字符读取文件的方式。 ### Java...
7. **读取文件**: 使用`retrieveFileStream()`或`retrieveFile()`方法下载文件。通常,我们使用`BufferedReader`来读取文本文件。 ```java FileOutputStream fos = new FileOutputStream("localfile.txt"); ftp...
1. **读取文件**:首先,`IniReader`类会使用`BufferedReader`或其他文件流API打开并读取INI文件内容。 2. **处理编码**:为了正确处理中文字符,`IniReader`可能使用`InputStreamReader`,并指定UTF-8或其他合适的...
在Java开发中,文件的读写操作是一项基本且重要的任务。通过自定义工具类`FileUtil`来封装常见的文件操作,可以极大地提高代码的可读性和维护性,同时简化实际开发中的文件处理流程。本文将基于提供的`FileUtil`部分...
通过以上代码示例和解析,我们可以看到Java提供了一种有效的方法来处理Shapefile文件及其相关属性数据。这些功能对于开发GIS应用至关重要,可以帮助开发者更好地理解和操作空间数据。同时,通过适当的异常处理机制,...