- 浏览: 200444 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Jasper520:
我的alert(td);是null
Struts2批量上传文件 -
chanly:
直直走 写道大家不要点那个链接,那里边有木马。 可恶 这 ...
关于数据库权限设计的探讨 -
化蝶自在飞:
兄弟以后发代码用 code 吧.那样会更好.呵呵.支持一下.
FCKeditor 利用javascript插入图片以及统计当前输入字数方法 -
paddycq:
导出的文件命名用中文出错,要对中文进行编码,只支持ISO-88 ...
jsp导出word、excel -
直直走:
大家不要点那个链接,那里边有木马。 可恶 这可是技术论坛 ...
关于数据库权限设计的探讨
java中多种方式读文件
一、多种方式读文件内容。
1、按字节读取文件内容
2、按字符读取文件内容
3、按行读取文件内容
4、随机读取文件内容
*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader;
public class ReadFromFile {
/**
* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
* @param fileName 文件的名
*/
public static void readFileByBytes(String fileName){
File file = new File(fileName);
InputStream in = null;
try {
System.out.println("以字节为单位读取文件内容,一次读一个字节:");
// 一次读一个字节
in = new FileInputStream(file);
int tempbyte;
while((tempbyte=in.read()) != -1){
System.out.write(tempbyte);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return;
}
try {
System.out.println("以字节为单位读取文件内容,一次读多个字节:");
//一次读多个字节
byte[] tempbytes = new byte[100];
int byteread = 0;
in = new FileInputStream(fileName);
ReadFromFile.showAvailableBytes(in);
//读入多个字节到字节数组中,byteread为一次读入的字节数
while ((byteread = in.read(tempbytes)) != -1){
System.out.write(tempbytes, 0, byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null){
try {
in.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以字符为单位读取文件,常用于读文本,数字等类型的文件
* @param fileName 文件名
*/
public static void readFileByChars(String fileName){
File file = new File(fileName);
Reader reader = null;
try {
System.out.println("以字符为单位读取文件内容,一次读一个字节:");
// 一次读一个字符
reader = new InputStreamReader(new FileInputStream(file));
int tempchar;
while ((tempchar = reader.read()) != -1){
//对于windows下,rn这两个字符在一起时,表示一个换行。
//但如果这两个字符分开显示时,会换两次行。
//因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。
if (((char)tempchar) != 'r'){
System.out.print((char)tempchar);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节:");
//一次读多个字符
char[] tempchars = new char[30];
int charread = 0;
reader = new InputStreamReader(new FileInputStream(fileName));
//读入多个字符到字符数组中,charread为一次读取字符数
while ((charread = reader.read(tempchars))!=-1){
//同样屏蔽掉r不显示
if ((charread == tempchars.length)&&(tempchars[tempchars.length-1] != 'r')){
System.out.print(tempchars);
}else{
for (int i=0; i<charread; i++){
if(tempchars[i] == 'r'){
continue;
}else{
System.out.print(tempchars[i]);
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
}finally {
if (reader != null){
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 以行为单位读取文件,常用于读面向行的格式化文件
* @param fileName 文件名
*/
public static void readFileByLines(String fileName){
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
//一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null){
//显示行号
System.out.println("line " + line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null){
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
/**
* 随机读取文件内容
* @param fileName 文件名
*/
public static void readFileByRandomAccess(String fileName){
RandomAccessFile randomFile = null;
try {
System.out.println("随机读取一段文件内容:");
// 打开一个随机访问文件流,按只读方式
randomFile = new RandomAccessFile(fileName, "r");
// 文件长度,字节数
long fileLength = randomFile.length();
// 读文件的起始位置
int beginIndex = (fileLength > 4) ? 4 : 0;
//将读文件的开始位置移到beginIndex位置。
randomFile.seek(beginIndex);
byte[] bytes = new byte[10];
int byteread = 0;
//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
//将一次读取的字节数赋给byteread
while ((byteread = randomFile.read(bytes)) != -1){
System.out.write(bytes, 0, byteread);
}
} catch (IOException e){
e.printStackTrace();
} finally {
if (randomFile != null){
try {
randomFile.close();
} catch (IOException e1) {
}
}
}
}
/**
* 显示输入流中还剩的字节数
* @param in
*/
private static void showAvailableBytes(InputStream in){
try {
System.out.println("当前字节输入流中的字节数为:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
ReadFromFile.readFileByBytes(fileName);
ReadFromFile.readFileByChars(fileName);
ReadFromFile.readFileByLines(fileName);
ReadFromFile.readFileByRandomAccess(fileName);
}
}
二、将内容追加到文件尾部
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 将内容追加到文件尾部
*/
public class AppendToFile {
/**
* A方法追加文件:使用RandomAccessFile
* @param fileName 文件名
* @param content 追加的内容
*/
public static void appendMethodA(String fileName,
String content){
try {
// 打开一个随机访问文件流,按读写方式
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
// 文件长度,字节数
long fileLength = randomFile.length();
//将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e){
e.printStackTrace();
}
}
/**
* B方法追加文件:使用FileWriter
* @param fileName
* @param content
*/
public static void appendMethodB(String fileName, String content){
try {
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
String content = "new append!";
//按方法A追加文件
AppendToFile.appendMethodA(fileName, content);
AppendToFile.appendMethodA(fileName, "append end. n");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
//按方法B追加文件
AppendToFile.appendMethodB(fileName, content);
AppendToFile.appendMethodB(fileName, "append end. n");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
}
}
发表评论
-
JQuery+JSON+java学习实例
2009-08-31 11:11 3431第一步:导入jquery中所需的js和css文件(css文件可 ... -
利用HttpSessionListener实现网站在线人数统计功能
2009-05-12 00:03 1178在网站中经常需要进行 ... -
jsp导出word、excel
2009-04-17 00:08 2260jsp导出word、excel 把对象或者列表传到Js ... -
jsp 上传图片并生成缩位图或者加水印 ,给图片添加水印,生成缩小图片程序
2009-04-08 22:47 3306// 添加水印,filePath 源图片路径, waterma ... -
java读取文件及文件流
2009-03-27 22:18 3697import java.io.BufferedInputStr ... -
JSP生成静态HTML技术
2009-03-19 22:50 908<%@ page contentType="t ... -
java用户角色权限设计
2009-03-01 22:15 1807java用户角色权限设计 转载至: http://www ... -
获得客户端真实IP地址
2009-03-01 16:01 1317/** * 获得客户端真实IP地址 * * @param re ... -
限制用户每天的留言次数
2009-03-01 15:58 1268message.jsp主要代码 <form acti ... -
根据留言的时间间隔判断用户是否成功
2009-03-01 15:55 985message.jsp页面主要代码 ... -
JAVA中的时间操作
2009-02-28 17:08 873JAVA中的时间操作 java中关于时间日期操作 ... -
JAVA中配置FCKeditor详解
2009-02-07 15:46 1606FckEditor中文配置手册详细说明 转贴地址: htt ... -
用Java连接SQL Server2000数据库
2009-02-07 15:41 3355用Java连接SQL Server2000数据库有多种方法,下 ... -
使用HttpURLConnection访问web页面
2007-12-28 12:29 9330URLConnection类给应用程序和web资源之间架设起了 ... -
HttpUrlConnection用法之获取某页面内容
2007-12-28 10:35 1988/*连接http://192.168.1.66:8080/re ... -
多级反向代理[Squid]下获取客户端真实IP地址
2007-12-28 10:24 1598多级反向代理[Squid]下获取客户端真实IP地址 在很多应 ... -
判断一个IP地址是否为内网IP
2007-12-28 10:20 3818java 代码/*判断是否是内网IP*/public stat ...
相关推荐
### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...
以上就是使用Java读写Ini文件的基本方法。在实际项目中,你可能需要根据具体需求进行调整,比如处理异常、文件不存在的情况,或者在读写操作前后进行备份等。确保始终处理好错误和异常,以提高代码的健壮性。
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
随着Java的发展,不同版本提供了多种方式来处理文件读写,这使得开发者可以根据实际需求选择最合适的方法。本文将重点探讨Java在不同版本中所提供的文件读写方式,并对其进行对比分析。 #### 一、JDK 1.0 中的文件...
Java 读写文件避免中文乱码 Java 语言在读写文件时,经常会 gặp到中文乱码的问题。这是因为 Java 默认使用的字符编码是 ISO-8859-1,而中文字符在这个编码中无法正确地表示。为了避免中文乱码,需要使用正确的...
本篇将围绕“Java读写文件”这一主题,深入探讨相关的知识点。 首先,Java提供了多种方式来读写文件。最基础的是使用`java.io`包中的`File`类来创建、读取和写入文件。`File`对象可以表示文件或目录路径,并提供了...
根据给定文件的信息,我们可以深入探讨Java中读写文件的操作,这是编程中非常基础且重要的技能,尤其是在处理大量数据或进行文件系统交互时。以下是从标题、描述、标签及部分内容中提取并扩展的关键知识点: ### ...
本文将基于提供的代码片段,深入解析Java中读写文件的关键知识点,包括使用`FileInputStream`、`FileOutputStream`以及Apache Commons IO库中的`FileUtils`类进行文件操作的方法。 ### 使用File类 `File`类是Java...
### HDF5 文件结构以及基于 Java 的读写 #### HDF 概述 HDF(Hierarchical Data Format)是一种自我描述、多对象的文件格式,专为高效地存储和分发科学数据而设计。它由美国国家超级计算应用中心(NCSA)开发,...
### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...
- 在Java中,通常使用Unidata的`ucar`库来处理NetCDF文件,其中`ucar.nc2`包提供了NetCDF文件的读写API。 - `NetcdfFile`类是主要的接口,用于打开和访问NetCDF文件。可以通过`NetcdfFile.open()`方法提供文件路径...
### Java文件读写知识点 #### 一、获取控制台用户输入信息 在Java中,可以通过`System.in`来获取用户的输入。以下是一个简单的示例,它演示了如何从控制台接收用户输入并将其转换为字符串。 ```java public ...
标题“非常简洁的java读写EXCEL源代码”以及描述中提到的“非常简单,还赠送个JXL的包”都暗示了我们将讨论如何使用JXL库进行Excel操作。 首先,让我们来了解JXL库。JXL是一个开源的Java库,用于读写Microsoft ...
Java实现Modbus读写 Java实现Modbus读写是指使用Java语言实现对Modbus协议的读写操作。Modbus是一种常用的工业通信协议,广泛应用于工业自动化、过程控制和监控系统中。 Java作为一种功能强大且广泛应用的编程语言...
### 使用Java进行XML文件的读写 #### 一、引言 XML(Extensible Markup Language,可扩展标记语言)是一种非常流行的用于存储和传输数据的标准格式。它具有良好的跨平台特性,易于理解和处理,因此在数据交换场景中...
它支持多种版本的Microsoft Project文件,包括.MPP和.MPT格式。在描述中提到的是`mpxj`的3.1版本,这是一个稳定且功能丰富的版本,能够帮助开发者轻松地处理项目数据。 使用`mpxj`,我们可以执行以下关键操作: 1....
`dbf-jdbc-wisecoders`是一个Java库,它提供了对DBF文件的读写功能,使得开发者能够通过Java语言方便地操作这些文件。 这个工具包的主要特点和功能包括: 1. **JDBC接口**:`dbf-jdbc-wisecoders`通过提供一个类似...
Java语言可以通过多种方式来读写ini文件,本文将详细介绍Java读写ini文件代码示例。 Ini文件简介 Ini文件是一种轻量级的配置文件格式,由于其简洁易用,ini文件广泛应用于各种软件和系统中。Ini文件的主要特点是:...