`

corejava学习8(io)

阅读更多

 

Vector     的方法都是synchronized

 

Arraylist      不安全

I/O

 

输入/输出    方向

 

字节/字符    单位

 

FileInputStream    读文件

 

Read()返回及一个整数,表示的你读出的字节的值,

当读了返回-1

 

Readint b[])读满一个字节数组

fileOutputStream    写文件

 

 

 

 

import java.io.*;

public class TestOutputStream {

    public static void main(String[] args){

           OutputStream os=null;

           try {

                  os=new FileOutputStream("2.txt");

                  String str="Hello Kettas";

                  byte[] bs=str.getBytes();//将字符串数组转换成字节数组

                  os.write(bs);

           } catch (FileNotFoundException e) {

                  e.printStackTrace();

           } catch (IOException e) {

                  e.printStackTrace();

           }finally{

                  try {

                         if (os!=null) os.close();

                  } catch (IOException e) {

                         e.printStackTrace();

                  }

           }

    }

}

 

 

import java.io.*;

public class TestListFiles {

    public static void main(String[] args) {

           File dir=new File("D:\\0804corejava");

           print(dir);

    }

    static void print(File dir){

           File[] fs=dir.listFiles();

           for(int i=0;i<fs.length;i++){

                  if (fs[i].isFile()) //判断是否是一个文件

                         System.out.println(fs[i].getAbsolutePath());

                  else print(fs[i]);

           }

    }

}

 

 

 

import java.io.*;

public class TestPipedStream {

    public static void main(String[] args) throws Exception{

           PipedInputStream fis=new PipedInputStream();

           PipedOutputStream fos=new PipedOutputStream();

           fis.connect(fos);//连接

          

           Thread t=new ThreadA(fos);

           t.start();

          

           System.out.println(fis.read());

          

           fis.close();

    }

}

class ThreadA extends Thread{

    PipedOutputStream pos;

    public ThreadA(PipedOutputStream pos) {

           super();

           this.pos = pos;

    }

 

    public void run(){

           int result=0;

           try {

                  for(int i=1;i<=10;i++){

                         result+=i;

                         Thread.sleep(500);

                  }

                  pos.write(result);

                  pos.close();

           } catch (InterruptedException e) {

                  e.printStackTrace();

           } catch (IOException e) {

                  e.printStackTrace();

           }

          

    }

}

 

 

import java.io.*;

public class TestDataStream {

    public static void main(String[] args) throws Exception{

           long l=1234567890123456L;

           FileOutputStream fos=new FileOutputStream("1.dat");

           DataOutputStream out=new DataOutputStream(fos);

           out.writeLong(l);

           out.close();

          

           FileInputStream fis=new FileInputStream("1.dat");

           DataInputStream in=new DataInputStream(fis);

           long l2=in.readLong();

           in.close();关闭外层就可以

          

           System.out.println(l2);

    }

 

}

 

 

import java.io.*;

public class TestBufferedStream {

    public static void main(String[] args) throws Exception{

           String str="Hello Kettas";

           byte[] bs=str.getBytes();

           FileOutputStream fos=new FileOutputStream("kettas.txt");

           BufferedOutputStream out=new BufferedOutputStream(fos);

           //DataOutputStream dout=new DataOutputStream(out);

           out.write(bs);

           out.flush();//刷新输出流

    }

}

 

 

 

原子操作   synchronzined

 

 

ObjectOutputStream   能读八种基本的数据,带在缓冲。

序列化必须,Serializable

 

Transient   修辞的属性是临时属性,不参加序列化。

 

 

import java.io.*;

public class TestObjectStream {

    public static void main(String[] args) throws Exception{

           Student s1=new Student("Liucy",30,80);

           Student s2=new Student("Huxz",18,100);

          

           FileOutputStream fos=new FileOutputStream("students.dat");

           ObjectOutputStream out=new ObjectOutputStream(fos);

           out.writeObject(s1);

           out.writeObject(s2);

           out.close();

          

           FileInputStream fis=new FileInputStream("students.dat");

           ObjectInputStream in=new ObjectInputStream(fis);

           Object o1=in.readObject();

           Object o2=in.readObject();

           in.close();

          

           System.out.println(o1);

           System.out.println(o2);

    }

}

实现Serializable,序列化

class Student implements Serializable{

    String name;

    int age;

    transient double score;//临时属性

    public Student(String name, int age, double score) {

           super();

           this.name = name;

           this.age = age;

           this.score = score;

    }

    public String toString(){

           return "Student name="+name+" age="+age+" score="+score;

    }

}

 

 

import java.io.*;

import java.util.*;

public class TestPoemInverse {

    public static void main(String[] args) throws Exception{

           Stack s=new Stack();

          

           FileInputStream fis=new FileInputStream("1.txt");

           InputStreamReader ir=new InputStreamReader(fis);// 创建一个使用默认字符集的InputStreamReader

           BufferedReader in=new BufferedReader(ir);

           String str;

     //readLine()读取一个文本行。

           while((str=in.readLine())!=null){

                  s.push(str);

           }

           in.close();

          

           FileOutputStream fos=new FileOutputStream("2.txt");

           PrintWriter out=new PrintWriter(fos);

           int size=s.size();

           for(int i=0;i<size;i++){

                  str=s.pop();

                  out.println(str);

           }

           out.close();

          

    }

}

class Stack {

    private LinkedList list=new LinkedList();

    public void push(String str){

           list.addFirst(str);

    }

    public String pop(){

           return (String)list.removeFirst();

    }

    public int size(){

           return list.size();

    }

}

 

 

import java.io.*;

public class TestReaderWriter {

    public static void main(String[] args) throws Exception{

           FileOutputStream fos=new FileOutputStream("poem.txt");

           //Writer ow=new OutputStreamWriter(fos,"GBK");

           //PrintWriter out=new PrintWriter(ow);

           PrintWriter out=new PrintWriter(fos);

           out.println("葡萄美酒夜光杯");

           out.println("欲饮琵琶马上催");

           out.println("醉卧沙场君莫笑");

           out.println("我是流氓我怕谁");

           out.close();          

          

           FileInputStream fis=new FileInputStream("poem.txt");

           Reader ir=new InputStreamReader(fis,"Big5");

           BufferedReader in=new BufferedReader(ir);

           String str;

           while((str=in.readLine())!=null){

                  System.out.println(str);

           }

           in.close();

          

    }

}

 

 

public class TestString {

    public static void main(String[] args) throws Exception{

           String str="1232131 ";

           byte[] bs1=str.getBytes("GBK");//编码

           String str2=new String(bs1,"Big5");//解码

           System.out.println(str);

           System.out.println(str2);

          

           byte[] bs2=str2.getBytes("Big5");

           String str3=new String(bs2,"GBK");

           System.out.println(str3);

<

分享到:
评论

相关推荐

    corejava学习笔记

    Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...

    达内 CoreJava老师笔记汇总

    CoreJava DAY01 Java概述 1 CoreJava DAY02 数据类型和控制结构 10 CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 ...CoreJava DAY21-22 IO 174 CoreJava DAY23 网络编程 197

    CoreJava视频课程(百度云链接)

    根据提供的文件信息,我们可以推断出这是一套关于CoreJava的视频教程。下面将围绕CoreJava的核心知识点进行详细的介绍。 ### CoreJava基础知识 #### Java语言简介 Java是一种广泛使用的、面向对象的编程语言,由...

    java\CoreJava笔记\CoreJAVA_day01

    在学习CoreJava时,我们需要掌握以下几个关键知识点: 1. **编程思想**: - 面向对象编程(Object-Oriented Programming, OOP):Java是一种纯面向对象的语言,一切皆为对象,理解类、对象、封装、继承、多态等...

    COREJAVA学习代码

    "COREJAVA学习代码"这个主题旨在帮助开发者深入理解和掌握Java的基本语法、类库以及编程实践。下面将详细阐述一些核心Java的学习知识点,这些知识点通常会在课堂讲解和教师布置的作业中出现。 1. **基础语法**:...

    corejava,java核心编程

    【标签】:“corejava” 在计算机编程领域,Core Java是指Java的核心部分,它是Java技术的基础,涵盖了Java语言的基础语法、面向对象编程概念、图形用户界面(GUI)开发以及网络编程等方面。以下是对这些知识点的...

    Core Java学习资料

    ### Core Java 学习资料详解 #### 一、概述 Core Java 是 Java 技术的基础部分,涵盖了 Java 编程语言的核心概念和技术。对于初学者来说,掌握 Core Java 是非常重要的第一步,它不仅有助于理解 Java 的基本语法和...

    Core Java. 8thEdition + source code

    《Core Java 8th Edition》是Java编程领域中一本经典的参考书籍,由Cay S. Horstmann和Gary Cornell合著。这本书详细介绍了Java SE(标准版)平台的核心概念和技术,特别关注Java 8的新特性。以下是根据标题、描述...

    corejava开源包

    《深入解析CoreJava开源包:IO输入输出与API应用》 在Java编程领域,CoreJava是基础中的基础,它包含了Java语言的核心特性、类库以及API。本篇将重点探讨"corejava开源包",特别是其中的IO输入输出功能及其API的...

    corejava12示例代码

    《CoreJava12示例代码》是一份针对Java编程语言深度学习的重要资源,主要涵盖了CoreJava12版本中的核心概念和特性。这份压缩包文件包含了丰富的示例代码,旨在帮助开发者深入理解Java语言的各个方面,提升编程技能。...

    core java学习课件

    "Core Java学习课件"提供了一套完整的资源,帮助初学者和有经验的开发者深入理解和掌握Java的核心概念。这个课件可能包括了详细的讲义、实例代码、练习题和解析,旨在构建一个全面的学习路径。 在Java学习的旅程中...

    CoreJava上下册

    《CoreJava上下册》是Java编程领域中备受推崇的入门教程,主要...无论你是Java新手还是希望巩固基础的开发者,《CoreJava上下册》都是不可或缺的学习资源。通过系统学习,你将能够独立编写出高效、健壮的Java应用程序。

    corejava(source)

    《深入解析CoreJava源码》 CoreJava是Java编程领域中的经典教材,其源码对于初学者和有经验的开发者来说都是宝贵的资源。通过研究CoreJava的源码,我们可以更深入地理解Java语言的底层机制,提升编程技能,并且能够...

    Core Java.JAVA核心技术(中文版)

    《Core Java.JAVA核心技术(中文版)》是学习Java编程的重要参考资料,主要涵盖了Java语言的基础以及进阶知识。这本书深入浅出地讲解了Java的核心概念和技术,为读者提供了全面而细致的学习路径。以下是对该书内容的...

    Java试题-CoreJava试题

    Java是世界上最流行的编程语言之一...这些知识点覆盖了Java的基础语法、异常处理、多线程、对象和类、布局管理器等方面,对于学习和理解CoreJava至关重要。通过解答这些试题,学生可以巩固和提升对Java核心概念的理解。

    corejava的学习笔记

    8. **GUI编程**:Java提供Swing和JavaFX库来创建图形用户界面,学习如何设计和实现交互式的桌面应用。 9. **Oracle数据库**:Oracle是一种常用的商业关系型数据库管理系统,学习SQL语法、表设计、事务处理和性能...

    corejava基础知识

    学习CoreJava基础知识不仅需要理解和掌握以上知识点,还要通过实践不断巩固,解决实际问题。CoreJavaNoteBook.pdf和corejava.pdf这两份文档,很可能是详尽的教程或笔记,它们将帮助你深入理解并应用这些概念。无论你...

    corejava_code

    "CoreJava代码"这个主题涵盖了Java编程语言的基础到高级概念,是Java开发人员必须掌握的核心知识。在这一压缩包中,我们很可能找到了一系列用于演示和练习这些概念的源代码文件。下面,我们将深入探讨Java的一些关键...

    Core Java2 7th源码

    7. **IO流**:Java的IO库提供了一种读写数据的机制,包括字节流和字符流,以及缓冲区和转换流等高级特性。 8. **多线程**:Java内置了对多线程的支持,可以创建Thread对象或实现Runnable接口来并发执行任务,了解...

    corejava JAVA核心编程 里的源代码

    8. **IO流**:学习输入/输出流体系,包括字节流、字符流、对象流以及缓冲流,理解流的方向和操作文件的方法。 9. **多线程**:Java提供了Thread类和Runnable接口来实现并发,理解线程同步机制(如synchronized...

Global site tag (gtag.js) - Google Analytics