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

Java的一个IO实例

2009-03-21 17:11 239 查看
//Java的IO的一个实例
import java.io.*;
import java.util.zip.*;

public class abc5{
String temp=new String();
String t=new String();
public void readByLineFromConsoleAndPrint(){
System.out.println("==从控制台获得输入==");
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一行字符:");
System.out.println(temp=in.readLine());
}
catch(IOException e){
e.printStackTrace();
}
}
public void readByLineFromFileAndPrint(){
System.out.println("==从文件获得输入==");
try{
BufferedReader in=new BufferedReader(new FileReader("abc.dat"));
temp="";
String s=new String();
while((s=in.readLine())!=null)
temp+=s+"/n";
in.close();
System.out.println(temp);
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
}
public void readFromMemoryAndPrint(){
System.out.println("==从内存获得输入==");
try{
StringReader stringReader=new StringReader(temp);
int t;
while((t=stringReader.read())!=-1)
System.out.println((char)t);
}
catch(IOException e){
e.printStackTrace();
}
}
public void writeToFile()
{
System.out.println("==文件输出流==");
try{
BufferedReader in=new BufferedReader(new StringReader(temp));
PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("abc.dat")));
while((t=in.readLine())!=null)
out.println(t);
out.close();
}
catch(IOException e){
e.printStackTrace();
}
}
public void randomAccessFile(){
try{
System.out.println("==随机访问文件==");
RandomAccessFile file=new RandomAccessFile("abc.txt","rw");
for(int i=0;i<10;i++)
file.writeDouble(i*1.12);
file.seek(100);
file.writeDouble(577.4545);
file.close();
file=new RandomAccessFile("abc.txt","r");
for(int i=0;i<10;i++)
System.out.println("value"+i+"="+file.readDouble());
file.seek(100);
System.out.println(file.readDouble());
file.close();
}
catch(IOException e){
e.printStackTrace();
}
}
public void formattedInputAndOutput()
{
System.out.println("==格式化数据输出==");
try{
DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("data.data")));
out.writeDouble(54.7769);
out.writeBytes("this is bytes/n");
out.writeChars("this is chars/n");
out.writeFloat(100.6f);
out.writeUTF("this is utf encoding string/n");
out.close();

System.out.println("==格式化数据输入==");
DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream("data.data")));
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
System.out.println(in.readDouble());
System.out.println(in.readLine());
System.out.println(in.readLine());
System.out.println(in.readFloat());
System.out.println(in.readLine());
}
catch(EOFException e){
System.out.println("end of stream");
}
catch(IOException e){
e.printStackTrace();
}
}

public void zipFile(){
System.out.println("==使用java压缩文件==");
try{
FileOutputStream file=new FileOutputStream("demo.zip");
CheckedOutputStream csum=new CheckedOutputStream(file,new Adler32());
ZipOutputStream zip=new ZipOutputStream(new BufferedOutputStream(csum));
zip.setComment("Zip输出流测试");
BufferedReader reader=new BufferedReader(new FileReader("Test.java"));
zip.putNextEntry(new ZipEntry("Test.java"));
int c;
while((c=reader.read())!=-1)
zip.write(c);
zip.close();
}
catch(IOException e){
e.printStackTrace();
}
}
public static void main(String []args){
JavaIODemo demo=new JavaIODemo();
demo.readByLineFromConsoleAndPrint();
demo.readFromMemoryAndPrint();
demo.writeToFile();
demo.formattedInputAndOutput();
demo.randomAccessFile();
demo.readByLineFromFileAndPrint();
file://demo.readAndWriteSerialObject();
demo.zipFile();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: