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毫秒