标签:
字节流:字节输入流(InputStream)、字节输出流(OutputStream)
public static void main(String[] args) throws Exception {
File file = new File("D:" + File.separator + "test.txt");
if (!file.getParentFile().exists()) { // 父路径不存在
file.getParentFile().mkdirs(); // 创建目录
}
OutputStream output = new FileOutputStream(file) ;
String str = "Hello World ." ; // 要输出的数据
byte [] data = str.getBytes() ; // 字符串变为字节数组
output.write(data); // 进行内容的输出操作,或者data等同于”HelloWorld”.getBytes()
output.close();
}
字符流:字符输入流(Reader)、字符输出流(Writer)主要处理中文
OutputStream输出有个缺点,如果要输出其他数据类型(int,double),只有转换成字节数组才能输出。因此,java提供了另一个输出PrintStream
public static void main(String[] args) throws Exception {
PrintStream p = new PrintStream(new FileOutputStream(new File("D:"+ File.separator + "hello.txt")));
p.print("Hello");
p.println("World");
util.close() ;
}


通过观察PrintStream的结构与构造方法,这种是装饰设计模式。看起来类似代理设计模式,然而代理设计模式是基于接口,代理类所执行的方法也一定是接口中定义的方法
BufferedReader
public static void main(String[] args) throws Exception{
BufferedReader read = new BufferedReader(new InputStreamReader(new FileInputStream("d:" + File.separator + "test.txt")));
String str = read.readLine();
System.out.println(str);
}
Scanner简单例子
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(new FileInputStream(new File("D:"
+ File.separator + "test.txt")));
while(scan.hasNext()) {
System.out.println(scan.next());
}
scan.close();
}
Scanner比InputStream好用多了,特别是读取数据多的时候
标签:
原文地址:http://www.cnblogs.com/wujinsen/p/4576379.html