1.用
InputStream
&
OutputStream
这两个基类来进行读写操作
InputStream
中的
FileInputStream
类似一个文件句柄,通过它来对文件进行操作,类似的,在
OutputStream
中我们有
FileOutputStream
这个对象。
用FileInputStream
来读取数据的常用方法是:
FileInputStream
fstream
=
new
FileInputStream(args[0]);
DataInputStream
in
=
new
DataInputStream(fstream);
用
in.readLine()
来得到数据,然后用
in.close()
关闭输入流。
用FileOutputStream
来写入数据的常用方法是:
FileOutputStream
out
out
=
new
FileOutputStream("myfile.txt");
PrintStream
p
=
new
PrintStream(
out
);
用
p.println()
来写入数据,然后用
p.close()
关闭输入。
代码如下:
//
FileInputDemo
//
Demonstrates
FileInputStream
and
DataInputStream
import
java.io.*;
class
FileInputDemo
{
public
static
void
main(String
args[])
{
//
args.length
is
equivalent
to
argc
in
C
if
(args.length
==
1)
{
try
{
//
Open
the
file
that
is
the
first
command
line
parameter
FileInputStream
fstream
=
new
FileInputStream(args[0]);
//
Convert
our
input
stream
to
a
DataInputStream
DataInputStream
in
=
new
DataInputStream(fstream);
//
Continue
to
read
lines
while
there
are
still
some
left
to
read
while
(in.available()
!=0)
{
//
Print
file
line
to
screen
System.out.println
(in.readLine());
}
in.close();
}
catch
(Exception
e)
{
System.err.println("File
input
error");
}
}
else
System.out.println("Invalid
parameters");
}
}
//
FileOutputDemo
//
Demonstration
of
FileOutputStream
and
PrintStream
classes
import
java.io.*;
class
FileOutputDemo
{
public
static
void
main(String
args[])
{
FileOutputStream
out;
//
declare
a
file
output
object
PrintStream
p;
//
declare
a
print
stream
object
try
{
//
connected
to
"myfile.txt"
out
=
new
FileOutputStream("myfile.txt");
//
Connect
print
stream
to
the
output
stream
p
=
new
PrintStream(
out
);
p.println
("This
is
written
to
a
file");
p.close();
}
catch
(Exception
e)
{
System.err.println
("Error
writing
to
file");
}
}
}
2.JDK
1.1中,支持两个新的对象
Reader
&
Writer,
它们只能用来对文本文件进行操作,而
JDK1.1中的
InputStream
&
OutputStream
可以对文本文件或二进制文件进行操作。
用FileReader
来读取文件的常用方法是:
FileReader
fr
=
new
FileReader("mydata.txt");
BufferedReader
br
=
new
BufferedReader(fr);
用
br.readLing()
来读出数据,然后用br.close()
关闭缓存,用fr.close()
关闭文件。
用
FileWriter
来写入文件的常用方法是:
FileWriter
fw
=
new
FileWriter("mydata.txt");
PrintWriter
out
=
new
PrintWriter(fw);
在用out.print
或
out.println
来往文件中写入数据,out.print
和
out.println的唯一区别是后者写
入数据或会自动开一新行。写完后要记得
用out.close()
关闭输出,用fw.close()
关闭文件。
//
FileReadTest.java
//
User
FileReader
in
JDK1.1
to
read
a
file
import
java.io.*;
class
FileReadTest
{
public
static
void
main
(String[]
args)
{
FileReadTest
t
=
new
FileReadTest();
t.readMyFile();
}
void
readMyFile()
{
String
record
=
null;
int
recCount
=
0;
try
{
FileReader
fr
=
new
FileReader("mydata.txt");
BufferedReader
br
=
new
BufferedReader(fr);
record
=
new
String();
while
((record
=
br.readLine())
!=
null)
{
recCount++;
System.out.println(recCount
+
":
"
+
record);
}
br.close();
fr.close();
}
catch
(IOException
e)
{
System.out.println("Uh
oh,
got
an
IOException
error!");
e.printStackTrace();
}
}
}
//
FileWriteTest.java
//
User
FileWriter
in
JDK1.1
to
writer
a
file
import
java.io.*;
class
FileWriteTest
{
public
static
void
main
(String[]
args)
{
FileWriteTest
t
=
new
FileWriteTest();
t.WriteMyFile();
}
void
WriteMyFile()
{
try
{
FileWriter
fw
=
new
FileWriter("mydata.txt");
PrintWriter
out
=
new
PrintWriter(fw);
out.print(“hi,this
will
be
wirte
into
the
file!”);
out.close();
fw.close();
}
catch
(IOException
e)
{
System.out.println("Uh
oh,
got
an
IOException
error!");
e.printStackTrace();
}
}
}
InputStream
OutputStream
用FileInputStream
FileInputStream
DataInputStream
用
用FileOutputStream
FileOutputStream
PrintStream
用
代码如下:
//
//
import
class
}
//
//
import
class
{
try
}
2.JDK
JDK1.1中的
用FileReader
FileReader
BufferedReader
用
用
FileWriter
PrintWriter
在用out.print
入数据或会自动开一新行。写完后要记得
//
//
import
class
}
FileReader
}
br.close();
fr.close();
}
}
//
//
import
class
}
FileWriter
PrintWriter
out.print(“hi,this
out.close();
fw.close();
}
}