- 浏览: 303503 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (271)
- jBPM (0)
- WebService (10)
- Flex (0)
- RubyOnRails (1)
- Java (56)
- J2EE (2)
- SQL (5)
- Tapestry (2)
- Dom4j (1)
- Japanese (9)
- English (4)
- JavaScript (3)
- Ajax (12)
- MyDiary (3)
- Log4j (2)
- XML (3)
- UML (1)
- Struts (3)
- Others (8)
- Funny (7)
- ProjectManagement (3)
- Tomcat (1)
- Servlet&Jsp (6)
- Html (4)
- iBATIS (1)
- EasyMock (1)
- Astronomy (1)
- Biology (1)
- Food and Health (0)
最新评论
-
yet8telecom:
good
js数组 sort方法的分析 转自NorthSnow HOME -
imain:
最后的结果是:1,5,3,4,6,2
js数组 sort方法的分析 转自NorthSnow HOME -
lixiaoqing:
最后一个输出结果应该是3,5,1,4,2,6 吧?
js数组 sort方法的分析 转自NorthSnow HOME -
benxiaohai1212:
请问如果输入参数是数组array类型,怎么处理?谢谢!
实例讲解:JAVA SOAP技术 -
netdisk:
这个建议可以用在电子文档管理上
软件文档管理指南
/*
前两天用到读写文件的操作,上网搜了一些这方面的资料。很有用的。
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);
}
}
发表评论
-
创建文件夹,用系统日期命名。
2006-06-08 17:46 957import java.util.*;import java. ... -
将不同目录下的文件,复制到同一个目录下。
2006-06-09 08:50 945import java.io.*;public class F ... -
字符串转换和toString()、字符截取charAt()、一次截取多个字符getChars()
2006-06-09 09:19 1340class Person{ String name; Stri ... -
对字符串数组进行排序,在冒泡法排序中使用compareTo()方法确定排序的顺序。
2006-06-09 11:13 1316//A bubble sort for Strings.pub ... -
使用substring()方法完成字符串替换.
2006-06-09 13:38 946/* 利用substring()方法可以截取字符串,它有两种形 ... -
JAVA编程规范
2006-06-09 16:51 990作者:李小敏 本文选自:IBM DW中国 2002年08月21 ... -
通过调用System.getProperty()方法来获得不同环境变量的值。
2006-06-10 20:11 1010class ShowUserDir{ public stati ... -
使用TreeSet()进行排序
2006-06-13 18:41 938/* TreeSet为使用树来进行存储的Set接口提供了一个工 ... -
使用LinkedList存储信箱地址
2006-06-13 18:51 861/* 除了在类集中存储用户定义的类之外,关于下面程序的另一个重 ... -
HashMap用法 示例
2006-06-14 08:48 1244/* 程序开始创建了一个散列映射,然后将名字的映射增加到平衡表 ... -
TreeMap用法 示例
2006-06-14 09:14 2175/* TreeMap类通过使用树来实现Map接口.TreeMa ... -
TreeSet() 类逆向排序(实现compare()方法以便按正常顺序的逆向进行操作)。
2006-06-14 10:28 2118/* 仔细观察实现Comparator并覆盖compare() ... -
TreeMap 排序
2006-06-14 15:34 2115/* 比较函数类TComp比较两个包含姓和名的字符串。它首先比 ... -
Arrays类中的一些方法 示例
2006-06-15 08:48 882//Demonstrate Arrays.import jav ... -
Vector Enumeration 示例
2006-06-15 09:47 1037//Demonstrate various vector op ... -
堆栈(Stack)示例
2006-06-15 10:44 845//Demonstrate the Stack class.i ... -
Hashtable 示例
2006-06-15 13:19 931//Demonstrate a Hashtable.impor ... -
Properties 示例
2006-06-15 14:48 890/* 为了更大的灵活性,当构造一个属性(Properties) ... -
Properties的store()方法和load()方法 示例
2006-06-15 15:31 1472/* Properties的一个最有用的方面是可以利用stor ... -
StringTokenizer(字符串标记) 示例
2006-06-15 16:56 862//Demonstrate StringTokenizer.i ...
相关推荐
首先,Java提供了多种文件读写的API,包括`java.io`包下的`FileReader`、`FileWriter`、`BufferedReader`、`BufferedWriter`、`InputStream`和`OutputStream`等类。`FileReader`和`FileWriter`用于读写字符流,适用...
本文将重点探讨Java在不同版本中所提供的文件读写方式,并对其进行对比分析。 #### 一、JDK 1.0 中的文件读写操作 在JDK 1.0 中,主要依赖于`InputStream`和`OutputStream`两个基类来实现文件的读写功能。 1. **读...
Modbus协议支持多种通信方式,包括串行通信、以太网通信和无线通信等。 Java实现Modbus读写 Java实现Modbus读写主要涉及到以下几个步骤: 1. 导入Modbus库 在Java中实现Modbus读写需要导入Modbus库,例如...
### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...
在Java中,虽然没有内置的Ini文件处理库,但我们可以借助第三方库如JIniFile或者Apache Commons Configuration来实现读写Ini文件的功能。 首先,让我们了解Ini文件的基本结构。Ini文件由多个节(Section)组成,每...
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
- 在Java中,通常使用Unidata的`ucar`库来处理NetCDF文件,其中`ucar.nc2`包提供了NetCDF文件的读写API。 - `NetcdfFile`类是主要的接口,用于打开和访问NetCDF文件。可以通过`NetcdfFile.open()`方法提供文件路径...
通过以上的介绍和示例代码,我们可以看到 Java 在文件读写方面提供了多种选择。对于二进制数据的操作,推荐使用 `InputStream` 和 `OutputStream`;而对于文本数据的操作,则建议使用 `Reader` 和 `Writer`。选择...
### HDF5 文件结构以及基于 Java 的读写 #### HDF 概述 HDF(Hierarchical Data Format)是一种自我描述、多对象的文件格式,专为高效地存储和分发科学数据而设计。它由美国国家超级计算应用中心(NCSA)开发,...
首先,Java提供了多种方式来读写文件。最基础的是使用`java.io`包中的`File`类来创建、读取和写入文件。`File`对象可以表示文件或目录路径,并提供了诸如是否存在、大小、修改时间等属性的访问方法。例如,我们可以...
【Java随机文件读写操作探讨】 Java编程语言在处理文件时提供了多种操作方式,包括文本文件、二进制文件和随机文件。本文主要关注的是Java中的随机文件读写操作,这是通过`java.io.RandomAccessFile`类实现的。随机...
JAVA IO流文件读写大全下载 JAVA IO流是Java语言中对输入/输出(Input/Output)操作的抽象表示。它提供了多种流机制来实现文件的读写操作。本文将对JAVA IO流文件读写的知识点进行详细的解释和分析。 1. JAVA IO流...
在IT领域,尤其是在软件开发与编程中,Java作为一种广泛应用的编程语言,其文件读写功能是程序员必须掌握的基础技能之一。本文将详细解析Java中如何实现文件的读写操作,特别是针对初学者,通过具体代码示例来深入...
在Java编程语言中,文件读写操作是日常开发中不可或缺的一部分。这个压缩包中的"file_read_writer.java"文件很可能是用来演示如何在Java中进行基本的文件读写操作的示例代码。以下是对这个主题的详细说明: 1. **...
在Java中读写Excel文件是一项常见的任务,尤其是在数据处理、报表生成或数据分析等场景下。Apache POI是一个广泛使用的开源库,它允许开发者使用Java语言来处理Microsoft Office格式的文件,包括Excel(XLS和XLSX)...
Java 提供了多种方式来读取文件,例如使用 `FileInputStream`、`FileReader`、`BufferedReader` 等。但是,使用这些类时,需要指定正确的编码方式,以避免中文乱码。 在给定的代码中,使用了 `InputStreamReader` ...
### Java多种读取文件方式详解 在Java编程中,文件操作是常见的需求之一,尤其是在处理大量数据时。本文将详细介绍几种常用的文件读取方法,并针对每种方法的特点、适用场景及示例代码进行深入解析。 #### 一、...