在一个类中,可以定义接口
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();
}
}
}
分享到:
相关推荐
零基础学习击上传资源即表示您确认该资源不违反资源分享的使用条款,并且您拥有该资源的所有版权或者上传资源的授权 您上传的资源如果因版权、使用、内容完整度 等原因被举报并通过官方审核,将扣除通过该资源获得...
本资源为前端js学习的示例代码,其中包含js引入方式、基础使用、核心语法、复合类型等内容的语法和代码示例 配合文章和示例代码学习效果更佳 文章地址:https://blog.csdn.net/mo_sss/article/details/139469850 ...
《应用数学基础学习指导》不仅是一本教材,更是工科硕士研究生通往数学殿堂的一把钥匙。通过对本书的学习,不仅可以掌握扎实的数学基础知识,还能培养出良好的逻辑思维能力和解决问题的能力,为未来的研究工作打下...
HTML基础学习HTML基础学习HTML基础学习HTML基础学习 HTML基础学习HTML基础学习HTML基础学习HTML基础学习 HTML基础学习HTML基础学习HTML基础学习HTML基础学习 HTML基础学习HTML基础学习HTML基础学习HTML基础学习 HTML...
零基础入门深度学习(1) - 感知器 零基础入门深度学习(2) - 线性单元和梯度下降 零基础入门深度学习(3) - 神经网络和反向传播算法 零基础入门深度学习(4) - 卷积神经网络 零基础入门深度学习(5) - 循环神经网络 零...
深度学习基础pdf
概率论基础学习指导书 李贤平
学习html基础学习html基础学习html基础学习html基础学习html基础 学习html基础学习html基础学习html基础学习html基础学习html基础 学习html基础学习html基础学习html基础学习html基础学习html基础 学习html基础学习...
html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习html的基础学习html的基础学习 html的基础学习html的基础学习...
机器学习算法基础学习总结
本篇文档的标题是“深度学习基础及数学原理”,其描述和内容涉及深度学习的核心概念和数学基础。 一、引言部分 引言部分提出图像分类问题是计算机视觉的核心任务之一,而图像分类的准确性和效率是计算机视觉领域的...
会计基础学习.pdf
计算机应用基础(本)的课程学习过程表现全文共2页,当前为第1页。计算机应用基础(本)的课程学习过程表现全文共2页,当前为第1页。计算机应用基础(本)的课程学习过程表现 计算机应用基础(本)的课程学习过程表现全文...
JavaScript js基础学习 示例代码JavaScript js基础学习 示例代码JavaScript js基础学习 示例代码JavaScript js基础学习 示例代码JavaScript js基础学习 示例代码JavaScript js基础学习 示例代码JavaScript js基础...
1. 高等数学基础 高等数学是机器学习数学基础中最为重要的一部分,它主要包括微积分、微分方程等。其中,导数和微分的概念是高等数学中的核心内容。 导数的定义是用来描述函数在某一点处的瞬时变化率。其数学...
机器学习作为一种以计算机为工具、数据为研究对象、学习方法为中心的跨学科领域,其数学基础尤为重要。掌握机器学习的数学理论基础对于深入理解机器学习的算法和应用至关重要。接下来,我们将详细阐述机器学习所涉及...
### NVIDIA DLI深度学习基础知识点解析 #### 一、NVIDIA DLI简介 NVIDIA Deep Learning Institute (DLI) 是一个提供深度学习、加速计算以及AI领域的培训与认证的平台。通过NVIDIA DLI的学习资源,学员能够掌握如何...
本文主要分享了作者在学习“国开计算机应用基础(本)形考”课程过程中的心得体会,涵盖了从计算机基础知识到具体软件应用的多个方面。 首先,计算机基础知识是学习的起点,包括计算机的发展历程、工作原理以及硬件...
html基础教程学习