Java IO操作的实例代码.docx
- 文档编号:18228744
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:10
- 大小:17.10KB
Java IO操作的实例代码.docx
《Java IO操作的实例代码.docx》由会员分享,可在线阅读,更多相关《Java IO操作的实例代码.docx(10页珍藏版)》请在冰点文库上搜索。
JavaIO操作的实例代码
JavaIO操作的实例代码
2008-11-1823:
00215人阅读评论(0)收藏举报
JavaIO操作的实例代码(部分来自网络源码)
//**
*程序输出的时候会有乱码,原因是因为read()方法读取一个字节,中文字符
*是由两个字节构成,取一个字节(字符的一半)就转成一个字符,所以输出就会是乱码
*@authorDaHai
*
*/
publicclassTestFileInputStream{
publicstaticvoidmain(Stringargs[]){
intb=0;
FileInputStreamin=null;
try{
in=newFileInputStream("c:
//TestFileInputStream.java");
}catch(FileNotFoundExceptione){
System.out.println("找不到指定的文件");
//终止当前正在运行的Java虚拟机。
参数用作状态码;根据惯例,非零的状态码表示异常终
止。
System.exit(-1);
}
try{
longnum=0;
//只有读到文件的结尾才为-1
while((b=in.read())!
=-1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println();
System.out.println("共读取了"+num+"个字节");
}catch(IOExceptione){
System.out.println("文件读取错误");
System.exit(-1);
}
}
}
Java代码复制文件
importjava.io.*;
publicclassTestFileOutputStream{
publicstaticvoidmain(Stringargs[]){
intb=0;
FileInputStreamin=null;
FileOutputStreamout=null;
try{
in=newFileInputStream("c:
//TestFileInputStream.java");
//如果这个时候C盘下面还没有Test.java,那么newFileOutputStream会创建一个空的Test.java
文件,但不会创建目录
out=newFileOutputStream("c:
//Test.java");
while((b=in.read())!
=-1){
out.write(b);
}
in.close();
out.close();
}catch(FileNotFoundExceptione){
System.out.println("找不到指定文件");
System.exit(-1);
}catch(IOExceptione){
System.out.println("文件复制错误");
System.exit(-1);
}
System.out.println("文件已复制");
}
}
从文件里读取字符数据
Java代码
importjava.io.*;
publicclassTestFileReader{
publicstaticvoidmain(Stringargs[]){
FileReaderfr=null;
intc=0;
try{
fr=newFileReader("c:
//TestFileReader.java");
while((c=fr.read())!
=-1){
System.out.print((char)c);
}
}catch(FileNotFoundExceptione){
System.out.println("系统找不到指定的文件");
}catch(IOExceptione){
System.out.println("文件读取错误");
}
}
}
向文件里写字符数据下面这个小程序可以写出全世界所有的字符
Java代码
importjava.io.*;
publicclassTestFileWriter{
publicstaticvoidmain(Stringargs[]){
FileWriterfw=null;
intb=0;
try{
fw=newFileWriter("c:
//Unicode.dat");
for(b=0;b<65536;b++){
fw.write(b);
}
fw.flush();
fw.close();
}catch(FinleNotFoundExceptione){
e.printStackTrace();
System.out.println(e.getMessage());
System.exit(0);
}catch(IOExceptione){
e.printStackTrace();
System.out.println(e.getMessage());
System.exit(0);
}
}
}
带缓冲区功能的输入流
Java代码
importjava.io.*;
publicclassTestBufferStream{
publicstaticvoidmain(Stringargs[]){
try{
//一个字节的输入流并且不带缓冲区
FileInputStreamfis=newFileInputStream("c:
//TestFileInputStream.java");
//相当于在上面的fis流上又套了一层管道,实际上读取的是一样的数据,但是它有了带缓冲区的功
能
BufferedInputStreambis=newBufferedInputStream(fis);
intc=0;
System.out.println(bis.read());
System.out.println(bis.read());
//mark一个标记,从第100个开始往外读
bis.mark(100);
for(inti=0;i<10&&(c=bis.read())!
=-1;i++){
System.out.print((char)c+"");
}
System.out.println();
//重置到上面的mark处
bis.reset();
for(inti=0;i<=10&&(c=bis.read())!
=-1;i++){
System.out.print((char)c+"");
}
bis.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
Java代码修饰流的使用
importjava.io.*;
publicclassTestBufferStream{
publicstaticvoidmain(Stringargs[]){
try{
//在FileWriter写出一个字符外面套层BufferedWriter管道
BufferedWriterbw=newBufferedWriter(newFileWriter("c:
//write.txt"));
BufferedReaderbr=newBufferedReader(newFileReader("c:
//write.txt"));
Strings=null;
for(inti=0;i<=100;i++){
s=String.valueOf(Math.random());
bw.write(s);
bw.newLine();
}
bw.flush();
//readLine()方法为读一行数据
while((s=br.readLine())!
=null){
System.out.println(s);
}
bw.close();
br.close();
}catch(IOExceptione){
e.printStackTrace();
System.out.println("读取文件出错");
}
}
}
Java代码
importjava.io.*;
publicclassTestTransForm2{
publicstaticvoidmain(Stringargs[]){
//等待从键盘的输入,System.in可以理解为一根管道直接插在了键盘上
//System.in字节流输入一个字节,外面套层InputStreamReader转换流
InputStreamReaderisr=newInputStreamReader(System.in);
//isr转换流的外面又套层缓冲流,为了使用下面的readLine()方法,可以记取一行
BufferedReaderbr=newBufferedReader(isr);
Strings=null;
try{
s=br.readLine();
while(s!
=null){
if(s.equalsIgnoreCase("exit"))break;
System.out.println(s.toUpperCase());
s=br.readLine();
}
br.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
Java代码
importjava.io.*;
publicclassTestDataStream{
publicstaticvoidmain(String[]args){
//在内存中定义了一个空间,同时一根管道插在了上面
ByteArrayOutputStreambaos=newByteArrayOutputStream();
//DataOutputStream直接写基础数据类型(boolean,double等),而且可以写UTF-8(省空间,网络上常用)
DataOutputStreamdos=newDataOutputStream(baos);
try{
dos.writeDouble(Math.random());
dos.writeBoolean(true);
ByteArrayInputStreambais=newByteArrayInputStream(baos.toByteArray());
System.out.println(bais.available());
DataInputStreamdis=newDataInputStream(bais);
//输出按照先入先出的形式输出
System.out.println(dis.readDouble());
System.out.println(dis.readBoolean());
dos.close();dis.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
Java代码
importjava.io.*;
publicclassTestPrintStream1{
publicstaticvoidmain(String[]args){
PrintStreamps=null;
try{
FileOutputStreamfos=newFileOutputStream("d:
//bak//log.dat");
ps=newPrintStream(fos);
}catch(IOExceptione){
e.printStackTrace();
}
if(ps!
=null){
System.setOut(ps);
}
intln=0;
for(charc=0;c<=60000;c++){
System.out.print(c+"");
if(ln++>=100){System.out.println();ln=0;}
}
}
}
Java代码
importjava.io.*;
publicclassTestPrintStream2{
publicstaticvoidmain(String[]args){
Stringfilename=args[0];
if(filename!
=null){list(filename,System.out);}
}
publicstaticvoidlist(Stringf,PrintStreamfs){
try{
BufferedReaderbr=newBufferedReader(newFileReader(f));
Strings=null;
while((s=br.readLine())!
=null){
fs.println(s);
}
br.close();
}catch(IOExceptione){
fs.println("无法读取文件");
}
}
}
Java代码
importjava.util.*;
importjava.io.*;
publicclassTestPrintStream3{
publicstaticvoidmain(String[]args){
Strings=null;
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
try{
FileWriterfw=newFileWriter("d:
//bak//logfile.log",true);
PrintWriterlog=newPrintWriter(fw);
while((s=br.readLine())!
=null){
if(s.equalsIgnoreCase("exit"))break;
System.out.println(s.toUpperCase());
log.println("-----");
log.println(s.toUpperCase());
log.flush();
}
log.println("==="+newDate()+"===");
log.flush();
log.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
Java代码
importjava.io.*;
publicclassTestObjectIO{
publicstaticvoidmain(Stringargs[])throwsException{
Tt=newT();
t.k=8;
FileOutputStreamfos=newFileOutputStream("d:
/share/java/io/testobjectio.dat");
ObjectOutputStreamoos=newObjectOutputStream(fos);
oos.writeObject(t);
oos.flush();
oos.close();
FileInputStreamfis=newFileInputStream("d:
/share/java/io/testobjectio.dat");
ObjectInputStreamois=newObjectInputStream(fis);
TtReaded=(T)ois.readObject();
System.out.println(tReaded.i+""+tReaded.j+""+tReaded.d+""+tReaded.k);
}
}
/**序列化
*1.一个Object直接转换成为字节流写到硬盘或网络上去
*2.标记作用
*3.里面没有任何方法,给JDK看,JDK看到它就知道可以序列化了
*4.直接实现这个接口,是JKD帮你控制这个对象
*5.把一个对象直接写到硬或网络上应当把它序列化成一个字节流必须实现这个接口
*/
classTimplementsSerializable
{
inti=10;
intj=9;
doubled=2.3;
intk=15;
//transient透明的,它修饰的成员变量在序列化的时候不予考虑
//transientintk=15;直行的时候,k为0
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java IO操作的实例代码 IO 操作 实例 代码