`
guafei
  • 浏览: 326694 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基础学习1

 
阅读更多
在一个类中,可以定义接口
public class ProcessFiles {

public interface Strategy{
void process(File file);
}
}

接口Strategy内嵌在ProcessFiles中,要实现接口必须实现ProcessFiles类,它为读者提供更多的上下文信息

把字节层次中的类和字符层次中的类进行结合的类是:InputStreamReader(把InputStream转化为Reader)和OutputStreamWriter(把OutputStream转化为Writer)

RandomAccessFile类是相对独立的一个类,不同于其他IO或者NIO,在平时可以多用
ByteArrayInputStream的构造器参数为数组
DataInputStraem可以用readByte方法一次一个字节的读取

数据的存储和恢复

/**
* 使用DataOutStream时,写字符串并让DataInputStream能够恢复它的唯一可靠做法
* 就是使用UTF-8编码
* @author guafei.wgf
*
*/

public class RecoverAndMemory {

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

DataOutputStream out = new DataOutputStream(new      BufferedOutputStream(new FileOutputStream("")));
out.writeDouble(2.111);
out.writeUTF("That is ok");
out.writeDouble(1.222);
out.writeUTF("it is next one");
out.close();

DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("")));
System.out.println(in.readDouble());
System.out.println(in.readUTF());
System.out.println(in.readDouble());
System.out.println(in.readUTF());
}

}

RandomAccessFile(随机访问文件类),类似于组合了DataOutStream和DataInputStream,可以利用seek()在文件中到处移动,并修改文件中的某个值。
管道流(4种PipedInputStream  PipedOutputStream  PipedReader  PipedWriter )主要运用于任务间的通信,多线程中运用。

标准的IO模型,java提供了System.in  System.out  System.err 三种其中System.in是未经包装加工过的InputStream,而后两者是包装成PrintStream对象,也就是说可以直接输出到屏幕。所以可以把System.in  System.out  System.err转化成不同类型的流


public class Redirecting {

/**
* 这个程序将标准的输入付接到文件上,并将标准输出和标准错误重定向到另一个文件
* 主要是为了防止突然在显示器上产生大量输出,来不及看的情况
*/
public static void main(String[] args) {

PrintStream console = System.out;
try {
BufferedInputStream in = new BufferedInputStream(new FileInputStream("Readirecting.java"));
    PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream("test.out")));
    System.setIn(in);
    System.setOut(out);
    System.setErr(out);
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String s ;
    while((s = br.readLine())!=null){
    System.out.println(s);
    }
    System.setOut(console);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
评论

相关推荐

    零基础入门深度学习(系列) 中文PDF完整版

    零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零...

    概率论基础学习指导书 李贤平

    概率论基础学习指导书 李贤平

    html的基础学习.zip

    html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习...

    统计学习基础

    《统计学习基础:数据挖掘、推理与预测》介绍了这些领域的一些重要概念。尽管应用的是统计学方法,但强调的是概念,而不是数学。许多例子附以彩图。《统计学习基础:数据挖掘、推理与预测》内容广泛,从有指导的学习...

    深度学习基础及数学原理

    本篇文档的标题是“深度学习基础及数学原理”,其描述和内容涉及深度学习的核心概念和数学基础。 一、引言部分 引言部分提出图像分类问题是计算机视觉的核心任务之一,而图像分类的准确性和效率是计算机视觉领域的...

    零基础入门深度学习.pdf

    零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零...

    NVIDIA DLI 深度学习基础 答案(领取证书用)

    ### NVIDIA DLI深度学习基础知识点解析 #### 一、NVIDIA DLI简介 NVIDIA Deep Learning Institute (DLI) 是一个提供深度学习、加速计算以及AI领域的培训与认证的平台。通过NVIDIA DLI的学习资源,学员能够掌握如何...

    CAD 基础学习资料

    CAD基础,希望有用,我也想找到更多可以学习的资料用于学习

    nodejs基础学习视频

    nodejs基础学习视频nodejs基础学习视频nodejs基础学习视频nodejs基础学习视频

    零基础学习scala教程整理

    零基础学习scala 全面的scala教程整理 零基础学习scala 全面的scala教程整理

    斯坦福大学-深度学习基础教程.pdf.zip

    深度学习基础教程 斯坦福大学教案

    HTML CSS and Javascript 基础学习代码.zip

    HTML CSS and Javascript 基础学习代码 HTML CSS and Javascript 基础学习代码 HTML CSS and Javascript 基础学习代码 HTML CSS and Javascript 基础学习代码 HTML CSS and Javascript 基础学习代码 ...

    PostgreSQL基础学习资料

    PostgreSQL基础学习资料PostgreSQL基础学习资料PostgreSQL基础学习资料

    C语言的基础知识学习总结.zip

    C语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础知识学习总结.zipC语言的基础...

    Monkey测试基础学习总结

    学习monkey基础后的个人总结,包括简单的monkey命令使用、API及服务器器使用等

    前端基础的学习html+css.zip

    前端基础的学习html+css前端基础的学习html+css前端基础的学习html+css 前端基础的学习html+css前端基础的学习html+css前端基础的学习html+css 前端基础的学习html+css前端基础的学习html+css前端基础的学习html+css...

    js基础学习.txt

    学习基础,切不可盲目,一定要从基础的学起。javascript是web开发必须要学会的语言,这个资料可以让你找到一些适合的方法,有简单的正则表达式,js的简单用法等。欢迎收藏

    机器学习基础课程

    机器学习基础课程,主要是一些理论推导,及系统的知识体系介绍

Global site tag (gtag.js) - Google Analytics