J2SE学习笔记(6)IO
来源:互联网 发布:玉米烘干塔排粮数据 编辑:程序博客网 时间:2024/05/17 05:14
在java.io包中,Java.io.InputStream表示字节输入流,java.io.OutputStream表示字节输出流。
public class FileDemo ...{
public static void main(String[] args) ...{
String s="Holle Gloomyboyo";
byte[] buf=s.getBytes();
//ByteArrayInputStream类本身采用了适配器模式,它把字节数组类型转换为输入流类型,
//使得程序对字节数组进行操作。
ByteArrayInputStream bai=new ByteArrayInputStream(buf);
int data=-1;
while((data=bai.read())!=-1)...{
System.out.print((char)data);
}
try ...{
bai.close();
} catch (IOException e) ...{
e.printStackTrace();
}
}
}
public static void main(String[] args) ...{
String s="Holle Gloomyboyo";
byte[] buf=s.getBytes();
//ByteArrayInputStream类本身采用了适配器模式,它把字节数组类型转换为输入流类型,
//使得程序对字节数组进行操作。
ByteArrayInputStream bai=new ByteArrayInputStream(buf);
int data=-1;
while((data=bai.read())!=-1)...{
System.out.print((char)data);
}
try ...{
bai.close();
} catch (IOException e) ...{
e.printStackTrace();
}
}
}
public class SequenceInputStreamDemo ...{
public static void main(String[] args) throws Exception ...{
InputStream is1 = new FileInputStream("g://1.txt");
InputStream is2 = new FileInputStream("g://2.txt");
InputStream is3 = new FileInputStream("g://3.txt");
Vector v=new Vector();
v.add(is1);
v.add(is2);
v.add(is3);
//SequenceInputStream类可以将几个输入流串联在一起,合并为个输入流。
public static void main(String[] args) throws Exception ...{
InputStream is1 = new FileInputStream("g://1.txt");
InputStream is2 = new FileInputStream("g://2.txt");
InputStream is3 = new FileInputStream("g://3.txt");
Vector v=new Vector();
v.add(is1);
v.add(is2);
v.add(is3);
//SequenceInputStream类可以将几个输入流串联在一起,合并为个输入流。
//当通过着类来读取数据时,它会依次从所有被串联的输入流中读取数据。
SequenceInputStream sis=new SequenceInputStream(v.elements());
int length=-1;
while((length=sis.read())!=-1)...{
System.out.println((char)length);
}
sis.close();
}
}
SequenceInputStream sis=new SequenceInputStream(v.elements());
int length=-1;
while((length=sis.read())!=-1)...{
System.out.println((char)length);
}
sis.close();
}
}
//文件读写
public class FileInputStreamDemo ...{
public FileInputStreamDemo()...{
File file = new File("g://1.txt");
FileInputStream fis=new FileInputStream(file);
byte[] buf=new byte[4];
int length=-1;
while((length=fis.read(buf))!=-1)...{
System.out.println(length);
System.out.println(new String(buf,0,length));
}
fis.close();
}
public static void main(String[] args) ...{
new FileInputStreamDemo();
}
}
public class FileOutputStreamDemo ...{
public FileOutputStreamDemo() throws Exception...{
OutputStream os=null;
os=new FileOutputStream("g:/1.txt",true);//参数为true时,文本继续添加不删除前面的内容
os.write(86);
}
public static void main(String[] args) ...{
new FileOutputStreamDemo();
public class FileInputStreamDemo ...{
public FileInputStreamDemo()...{
File file = new File("g://1.txt");
FileInputStream fis=new FileInputStream(file);
byte[] buf=new byte[4];
int length=-1;
while((length=fis.read(buf))!=-1)...{
System.out.println(length);
System.out.println(new String(buf,0,length));
}
fis.close();
}
public static void main(String[] args) ...{
new FileInputStreamDemo();
}
}
public class FileOutputStreamDemo ...{
public FileOutputStreamDemo() throws Exception...{
OutputStream os=null;
os=new FileOutputStream("g:/1.txt",true);//参数为true时,文本继续添加不删除前面的内容
os.write(86);
}
public static void main(String[] args) ...{
new FileOutputStreamDemo();
//打印
FileOutputStream fow=new FileOutputStream("g://1.txt",true);
PrintWriter pw=new PrintWriter(new OutputStreamWriter(fow));
pw.println("adsfasfdasfdasfddsafasd");
PrintWriter pw=new PrintWriter(new OutputStreamWriter(fow));
pw.println("adsfasfdasfdasfddsafasd");
//读取ini文件
Properties prop = new Properties();
InputStream in = new FileInputStream("db.ini");
prop.load(in);
System.out.println(prop.getProperty("username"));
System.out.println(prop.getProperty("username1","dfdf"));
System.out.println(prop.getProperty("password"));
}
}
InputStream in = new FileInputStream("db.ini");
prop.load(in);
System.out.println(prop.getProperty("username"));
System.out.println(prop.getProperty("username1","dfdf"));
System.out.println(prop.getProperty("password"));
}
}
//键盘输出
public class StandardIn ...{
public StandardIn()...{
InputStream sin=System.in;
char c=(char)-1;
while((c=(char)sin.read())!='q')...{
System.out.print(c);
}
}
public static void main(String[] args) ...{
new StandardIn();
}
}
//复制文本
public class copyst ...{
public static void copyst(File in,File out) throws IOException...{
InputStream is=new FileInputStream(in);
OutputStream os=new FileOutputStream(out);
int data=-1;
while((data=is.read())!=-1)...{
os.write(data);
}
}
public static void main(String[] args) ...{
copyst(new File("g:/1.txt"),new File("g:/2.txt"));
}
}
public class StandardIn ...{
public StandardIn()...{
InputStream sin=System.in;
char c=(char)-1;
while((c=(char)sin.read())!='q')...{
System.out.print(c);
}
}
public static void main(String[] args) ...{
new StandardIn();
}
}
//复制文本
public class copyst ...{
public static void copyst(File in,File out) throws IOException...{
InputStream is=new FileInputStream(in);
OutputStream os=new FileOutputStream(out);
int data=-1;
while((data=is.read())!=-1)...{
os.write(data);
}
}
public static void main(String[] args) ...{
copyst(new File("g:/1.txt"),new File("g:/2.txt"));
}
}
//DataInputStrea实现了DataInput接口,用于读取基本类型数据
public class DataInputStreamLab ...{
public static void main(String[] args) throws Exception ...{
FileOutputStream fos=new FileOutputStream("G;/1.txt");
DataOutputStream dis=new DataOutputStream(fos);
dis.writeDouble(100.11);//基本类型数据如 int、float、long、boolean等
dis.flush();
dis.close();
FileInputStream fis=new FileInputStream("G;/2.txt");
DataInputStream die=new DataInputStream(fis);
System.out.println(die.readDouble());
}
}
public class DataInputStreamLab ...{
public static void main(String[] args) throws Exception ...{
FileOutputStream fos=new FileOutputStream("G;/1.txt");
DataOutputStream dis=new DataOutputStream(fos);
dis.writeDouble(100.11);//基本类型数据如 int、float、long、boolean等
dis.flush();
dis.close();
FileInputStream fis=new FileInputStream("G;/2.txt");
DataInputStream die=new DataInputStream(fis);
System.out.println(die.readDouble());
}
}
//管道流从一个管道输出流中的数据。通常由一个线程向管道输出流写出数据,
//由另一个线程从管道输入流中读取数据,两线程可以通过用管道来通讯。
public class PipedDemo ...{
public static void main(String[] args) throws IOException ...{
PipedOutputStream pos=new PipedOutputStream();
PipedInputStream ps = new PipedInputStream(pos);
pos.write(100);
System.out.println(ps.read());
}
}
//由另一个线程从管道输入流中读取数据,两线程可以通过用管道来通讯。
public class PipedDemo ...{
public static void main(String[] args) throws IOException ...{
PipedOutputStream pos=new PipedOutputStream();
PipedInputStream ps = new PipedInputStream(pos);
pos.write(100);
System.out.println(ps.read());
}
}
//对象流的操作
public class SerializableDemo ...{
public static void main(String[] args) throws IOException, Exception ...{
FileOutputStream fos=null;
try ...{
fos=new FileOutputStream("g:/1.txt");
ObjectOutputStream os=new ObjectOutputStream(fos);
MsgPack mp = new MsgPack();
mp.setType("0001");
mp.setFrom("cqs");
mp.setTo("ccc");
mp.setContent("hello");
mp.setPassword("8888");
os.writeObject(mp);
os.flush();
os.close();
} catch (FileNotFoundException e) ...{
e.printStackTrace();
} catch (Exception e) ...{
e.printStackTrace();
}
FileInputStream fis=null;
try ...{
fis=new FileInputStream("g:/1.txt");
} catch (FileNotFoundException e) ...{
e.printStackTrace();
}
ObjectInputStream ois=new ObjectInputStream(fis);
Object o=ois.readObject();
System.out.println(o);
}
}
public class SerializableDemo ...{
public static void main(String[] args) throws IOException, Exception ...{
FileOutputStream fos=null;
try ...{
fos=new FileOutputStream("g:/1.txt");
ObjectOutputStream os=new ObjectOutputStream(fos);
MsgPack mp = new MsgPack();
mp.setType("0001");
mp.setFrom("cqs");
mp.setTo("ccc");
mp.setContent("hello");
mp.setPassword("8888");
os.writeObject(mp);
os.flush();
os.close();
} catch (FileNotFoundException e) ...{
e.printStackTrace();
} catch (Exception e) ...{
e.printStackTrace();
}
FileInputStream fis=null;
try ...{
fis=new FileInputStream("g:/1.txt");
} catch (FileNotFoundException e) ...{
e.printStackTrace();
}
ObjectInputStream ois=new ObjectInputStream(fis);
Object o=ois.readObject();
System.out.println(o);
}
}
- J2SE学习笔记(6)IO
- J2SE学习笔记--IO流
- j2se学习笔记-java.io.File类
- IO(J2SE学习随笔二)
- J2SE学习笔记:IO转换流与包装模式
- J2SE学习笔记----(一)概述
- J2SE学习笔记(2)字符串控制
- J2SE学习笔记(4)集合框架
- J2SE学习笔记(5)JDBC
- J2SE学习笔记(7)多线程
- j2se学习笔记-多态(动态绑定)
- 个人学习j2se笔记
- j2se学习笔记
- J2SE学习笔记
- j2se学习笔记-数组
- j2se学习笔记-容器
- j2se学习笔记-IO_1
- JAVA---j2se学习笔记
- 浮出水面,带着emacs和wxWidget的记忆。。
- 微软CEO 鲍尔默的一天
- java实现队列
- 基础类 VC小技巧20个 (转载自:http://dev.csdn.net/author/Jason009/10dda0392b164a54bc3227f7a2f33798.html)
- 常用的功能测试方法
- J2SE学习笔记(6)IO
- 指针的用法
- ASPX一句话木马--终极版&详细分析(ASP-EXECUTE VS ASPX-EVAL)
- web2.0的信息自组织=草根的自我组织+微内容的自发组织
- HDOJ2000
- 阿兰-图灵经典之作——《计算机器与智能》
- J2ME中RMS的使用解析
- Best Practices for Exception Handling
- 用J2ME开发企业级无线应用