您的位置:首页 > 编程语言 > Java开发

Java IO流的文件操作例程

2014-10-18 09:14 267 查看
【FileInputStream/FileOutputStream】

FileInputStream举例(复制文件并读取文件大小):

import java.io.*;
public class TestFileInputStream {
public static void main(String[] args) {
int b = 0;
FileInputStream in = null;
try {
in = new FileInputStream("d:\\A\\test1.txt");
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
System.exit(-1);
}
try {
long num = 0;
while((b=in.read()) != -1) {
System.out.print((char)b);
num ++;
}
in.close();
System.out.println();
System.out.println("共读取了 "+num+" 个字节");
} catch (IOException e) {
System.out.println("文件读取错误");
System.exit(-1);
}
}
}


FileOutputStream举例(复制文件):

import java.io.*;
public class TestFileOutputStream {
public static void main(String[] args) {
int b = 0;
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("d:\\A\\test1.txt");
out = new FileOutputStream("d:\\A\\test2.txt");
while((b=in.read()) != -1) {
out.write(b);
}
in.close();
out.close();
} catch(FileNotFoundException e) {
System.out.println("找不到指定文件");

System.exit(-1);
} catch(IOException e) {
System.out.println("文件复制错误"); System.exit(-1);
}
System.out.println("文件已复制");
}
}


【FileReader/FileWriter】

FileReader举例(输出文件):

import java.io.*;
public class TestFileReader {
public static void main(String[] args) {
FileReader fr = null;
int c = 0;
try {
fr = new FileReader("d:\\A\\test1.txt");
int ln = 0;
while((c = fr.read()) != -1) {
System.out.print((char)c);
}
fr.close();
} catch(FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch(IOException e) {
System.out.println("文件读取错误");
}
}
}


FileWriter举例(写入文件):

import java.io.*;
public class TestFileWriter {
public static void main(String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("d:\\A\\test1.txt");
for(int c=0;c<=50000;c++) {
fw.write(c);
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("文件写入错误");
System.exit(-1);
}
}
}


TestBufferedStream1.java

import java.io.*;
public class TestBufferedStream1 {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("d:\\A\\test1.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
int c = 0;
System.out.println(bis.read());
System.out.println(bis.read());
bis.mark(2); //从第2个开始读
for(int i=0;i<=10 && (c=bis.read())!=-1;i++) {
System.out.print(c+" ");
}
System.out.println();
bis.reset();
for(int i=0;i<=10 && (c=bis.read())!=-1;i++) {
System.out.print((char)c+" ");
}
bis.close();
} catch(IOException e) {e.printStackTrace();}
}
}


TestBufferedStream2.java:

import java.io.*;
public class TestBufferedStream2 {
public static void main(String[] args) {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\A\\test2.txt"));
BufferedReader br = new BufferedReader(new FileReader("d:\\A\\test1.txt"));
String s = null;
for(int i=1;i<=100;i++) {
s = String.valueOf(Math.random());
bw.write(s);
bw.newLine();
}
bw.flush();
while((s=br.readLine()) != null) {
System.out.println(s);
}
bw.close();
br.close();
} catch (IOException e) {e.printStackTrace();}
}
}


【转换流】

TestTransForm1.java:

import java.io.*;
public class TestTransForm1 {
public static void main(String[] args) {
try {
OutputStreamWriter osw = new OutputStreamWriter(
new FileOutputStream("d:\\A\\test2.txt"));
osw.write("lasolmi");
System.out.println(osw.getEncoding());
osw.close();
osw = new OutputStreamWriter(
new FileOutputStream("d:\\A\\test2.txt"),"ISO8859_1");
System.out.println(osw.getEncoding());
osw.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}


TestTransForm2.java:

import java.io.*;
public class TestTransForm2 {
public static void main(String[] args) {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = null;
try {
s = br.readLine();
while(s != null) {
if(s.equalsIgnoreCase("exit")) break;
System.out.println(s.toUpperCase());
s = br.readLine();
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}


【数据流】

TestDataStream.java:

import java.io.*;
public class TestDataStream {
public static void main(String[] args) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
try {
dos.writeDouble(Math.random());
dos.writeBoolean(true);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
System.out.println(bais.available());
DataInputStream dis = new DataInputStream(bais);
System.out.println(dis.readDouble());
System.out.println(dis.readBoolean());
dos.close(); dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}


【Print流】

TestPrintStream1.java

import java.io.*;
public class TestPrintStream1 {
public static void main(String[] args) {
PrintStream ps = null;
try {
FileOutputStream fos = new FileOutputStream("d:\\A\\test2.txt");
ps = new PrintStream(fos);
} catch (IOException e) {
e.printStackTrace();
}
if(ps != null) {
System.setOut(ps);
}
int ln = 0;
for(char c=0;c<=60000;c++) {
System.out.print(c + " ");
if(ln ++ >= 100) {System.out.println(); ln = 0;}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: