computer 版 (精华区)

发信人: arbo (arbo), 信区: program
标  题: java笔记10
发信站: 听涛站 (2001年09月17日10:51:27 星期一), 站内信件

发信人: airforce1 (五湖废人), 信区: Java
标  题: java笔记10
发信站: BBS 水木清华站 (Mon Apr  3 10:18:25 2000)

刚刚已经写了两百多行了,突然断线,也没有保留,心情很是郁闷

今天上课讲了文件,输入输出流
基本封
InputStream
OutputStream

some important method
InputStream
int read();//字节为单位读入
int read(byte[]);
int read(byte[],int idx,int len);

cloase()
int avaliable();
skip(long);

boolean markSupported() //是否支持回滚,就是回到做标记点
void mark(int);
void reset(int); //回到mark过的标记点重新开始读

output Stream 一样啦
write(int )
write(byte[])
write(byte[],inti,int);

void close();
void flush() //将缓存中内容强行写入

其他有好多的子类,为了具体实现做了不同的实现
FileInputStream FileOutPutStream //读写文件
BufferedInputStream BufferOutputStream //用缓冲实现,速度快写
datainputStream dataoutputstream //可以直接读写java基本数据类型,如double
pipedInputStream and pipedoutputStream //在线程间数据流动,一个可以提供源
L峁┠康

腢RL input streams
x=new URL("http../1.gif");
x.openStream

Unicode, java 支持,
用InputStreamReader and OutPutStreamWriter
ir=new InputStreamReader(system.in);
or ir new InputStreamReader(System.in, "8859_1) //指定区域码

文件对象
f=new File("myfile.dat");
f=new File("/","myfile.dat");
File myDir=new Fil("/");
myfile=new file(myDir, "myfile.data");

一些实用函数
String getName();
String getPath();
String getAbsolutePath();
String getParent();
boolean renameTo(File newName);

boolean exists();
boolean canWrite();
boolean canRead();
boolean isFile();
boolean isDirectory();
boolean isAbsolute();

long lastModified();
long length();
boolean delete();

boolean mkdir();
String[] list() //取当前目录文件列表,可以做出目录树啊

随机文件
f=new RandomAccessFile(String name,String mode) //可以随机存取
f=new RandomAccessFile(File file, Stirng mode)//从一个文件来生辰

long getfilePointer() //取当前指针
void seek(long pos);
long length();'

Serializaton
将一个对象存到永久介质
只存数据,不存方法。
有transient 关键字的数据不存
里面易变对象不能serialze, 如果一个serializable 对象含 can not
serializatable 对象,回抛出异常

看些例子吧
import java.io.*;
public class CharInput {
  public static void main (String args[]) throws java.io.IOException {
    String s;
    InputStreamReader ir;
    BufferedReader in;
    ir = new InputStreamReader(System.in);
    in = new BufferedReader(ir);

    while ((s = in.readLine()) != null) {
      System.out.println("Read: " + s);
    }
  }
}

import java.awt.*;
import java.awt.event.*;
import java.io.*;

class DisplayFile extends Frame {

  FileInputStream fis;
  File myFile;
  String fileName;
  TextArea ta;

  public void init() {
                myFile = new File(fileName);
                byte b[] = new byte [(int)myFile.length()];
                int i;

                // make it big enough or wait until you
                // know the size of the file
                String s;
                try {
                        fis = new FileInputStream(myFile);
                } catch (FileNotFoundException e){
                        /* do something appropriate */
                        System.err.println("File not found: " + myFile);
                        System.exit(1);
                }
                try {
                        i = fis.read(b);
                } catch(IOException e){
                        System.out.println ("Error reading file:");
                        System.out.println (e);
                        e.printStackTrace();
                        System.exit (1);
                }
                s = new String(b);
                ta = new TextArea(s, 5, 40);
                add (ta, "North");

                setSize(450, 150);
                setVisible(true);
                addWindowListener (new WindowHandler());

        }

        public DisplayFile(String file) {
                super("Display File: " + file);
                fileName = file;
        }

        public static void main (String args[]) {

                if (args.length < 1) {
                        System.out.println ("Usage:");
                        System.out.println ("java DisplayFile <file>");
                        System.exit (1);
                }
                DisplayFile disp = new DisplayFile(args[0]);
                disp.init();
        }

        private class WindowHandler extends WindowAdapter {

                public void windowClosing (WindowEvent e) {
                        setVisible(false);
                        dispose();
                        System.exit(0);
                }
        }

}


看看Serilazation 的例子,对于网络穿数据,电子邮件等有很多用处的
import java.io.*;

class mm implements Serializable{
    int x=10;
    int y=20;

   void tt(){
      System.out.println("hi");
   }
}



class ser{

    public static void main(String a[]) throws Exception{
             mm x=new mm();
             x.y=200;
             FileOutputStream  f=new FileOutputStream("ttt");
             ObjectOutputStream b=new      ObjectOutputStream(f);
             b.writeObject(x);
   }
}

import java.io.*;

class mm implements Serializable{
    int x=10;
    int y=20;

   void tt(){
      System.out.println("hi");
   }
}



class get{

    public static void main(String a[]) throws Exception{
             mm x=new mm();
             x.y=200;
             FileInputStream  f=new FileInputStream("ttt");
             ObjectInputStream b=new      ObjectInputStream(f);
             mm s=(mm)b.readObject();
             System.out.println(s.y);
             s.tt();
   }
}



--
※ 修改:·arbo 於 09月17日10:51:48 修改本文·[FROM: 匿名天使的家]
※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.218毫秒