10/27-11/2 java学习总结

   10/27-11/2 java学习总结

File

1.通过File类打开一个文件 。
2.通过字节流或字符流的子类指定输出位置。
3.经行读写操作。
4..关闭输入输出。

file中的主要方法和常见变量

java io

字节流:

字节流以操作byte类型数据为主,主要操作类为OutputStream类和InputSream类。
1.字节输出流OutputStream是整个IO包中字节输出流最大父类,
2.字节输入流InputSream为抽象类,需依靠子类

字符流

相同点

字符输出流Writer,字符输入流Reader都是是抽象类,详细见书p390

不同点

1.字节流在操作的时候是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。
2. 字符流要使用close方法的话,则不会输出任何内容。字符流的缓冲区,可以使用flush方法强制进行刷新缓冲区,这时可以在不close的情况下输出内容。

字节流-字符流的转换类
OutputStreamWriter:是Writer的子类,将输出的字符流转换为字节流。即:将一个字节流的输出对象变为字节流的输出对象 
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。

 

FileInputStream
常用的构造方法重载形式
FileInputStream:通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
FileInputStream:通过打开一个到实际文件的链接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。

转换流
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。

内存流
字节数组

ByteArrayInputStream是字节数组输入流,在内存中创建了一个字节数组,将输入流中读取的数据保存到字节数组的缓存区中.也就是说字节数组输入流将读取数据放到字节数组缓冲区中.

ByteArrayOutputStream是创建缓冲区用的类

例  OutputStream bOut = new ByteArrayOutputStream(int a)  创造一个大小为n字节的缓冲区
字符数组
CharArrayReader类实现一个可用作 Writer 的字符缓冲区。缓冲区会随向流中写入数据而自动增长,可使用 toCharArray() 和 toString() 获取数据。
CharArrayWriter类用于将子u写入到内置字符缓存数组中

成功创建字节数组输出流对象后的操作

字符串

StringReader:只有一个版本的构造方法,接受一个String作为参数

StringWriter:StringWriter内部有两个版本的构造方法

管道流
PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流。这个两个流必须同时使用。

打印流

打印流为输出信息最方便的类,其包括PrintStream类和PrintWriter类。

PrintStream 类

提供了打印方法可以对多种数据类型进行打印,并保持数据的表现形式。

它接收三种类型的值:字符串路径,File对象,字节输出流。

PrintWriter类

就非常实用的一种,很多地方都可以用到(不知道怎么说)

原文地址:https://www.cnblogs.com/lpf666/p/11788128.html

时间: 2024-07-30 23:13:35

10/27-11/2 java学习总结的相关文章

东软老师上课笔记 2014.11.14 Java学习指南

java: 数据库:Myslq,Oracle,SQL Server,DB2,syBase Oracle相关的书:Oracle学习手册 数据的保存方式:内存(不可恢复 访问速度最快),硬盘/文件(永久保存,不便于共享),网络(共享),数据库(共享 永久保存 访问速度最慢 增删改查) JavaSE:JDK 变量 数据类型(特殊的数据类型:String 自定义类 数组 集合框架(List Set Map) I/O流(读写数据 6种常用的输入输出对象)网络编程(Socket编程 TCP协议)) int

[2018/11/14] Java学习

在网上下载了一个用Java实现的数据结构的视频, 看了前三个视频, 感觉收获很大, 今天花了接近三小时在Java的数据结构上. 课程的目录如下: 第01讲:数组第02讲:简单排序第03讲:栈和队列第04讲:链表第05讲:双端链表和双向链表第06讲:递归的应用第07讲:递归的高级应用第08讲:希尔排序第09讲:快速排序第10讲:二叉树的基本概念第11讲:二叉树的基本操作第12讲:遍历二叉树第13讲:删除二叉树节点第14讲:红黑树第15讲:哈希表第16讲:开放地址法第17讲:链地址法第18讲:图的基

201521123105 第11周Java学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步访问(请出现相关代码)? 在Java中,提供了两种方式来实现同步互斥访问:synchronized和Lock class Account{ private int balance; private Lock

201671010132 2017-2018第11周Java学习总结

try {  in = new Scanner(Paths.get("H:\\data1.txt")); } catch (IOException e) {  // TODO Auto-generated catch block  e.printStackTrace(); }         while (in.hasNext())         {            String word = in.next();            long callTime = Syst

10种简单的Java性能优化(转)

本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加入翻译小组.转载请见文末要求. 你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧. 最近"全网域(Web Scale)"一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加"全网域".但是究竟什么是全网域?或者说如何确保全网域? 扩展的不同方面 全网域被炒作的最多的是扩展负载(

Java学习笔记(2015.7.27~7.31)

Java学习笔记(2015.7.27~7.31) Java 课堂 Java学习笔记(2015.7.27~7.31) 小技巧 常用方法 1.List另一个子类--LinkedList 2.数组的常用方法 3.排序 1.二分法查找 2.数组转换为List 3.可变参数Type ... param (了解) 1.容器Collection 2.自动拆装箱(了解) 3.JDK增强for循环(了解) 4.泛型(掌握) 5.iterator与for在迭代中的区别 1.概念:保存多个对象的对象. 2.JDk为什

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理。

这是一套Java菜鸟到大牛的学习路线之高级教程,由工作了10年的资深Java架构师整理.        01-java高级架构师设计-基础深入        J2SE深入讲解        Java多线程与并发库高级应用视频教程下载        java反射机制        java设计模式视频        数据结构视频教程        Eclipse视频教程.zip        MyEclipse视频教程.zip    02-java高级架构师设计-JavaEE拓展        A

2016最新Java学习计划

一.Java学习路线图 二.Java学习路线图--视频篇 六大阶段 学完后目标 知识点 配套免费资源(视频+笔 记+源码+模板) 密码        第一阶段 Java基础 入门 学习周期: 35天 学完后目标: 1.可进行小型应用程序开发 2.对数据库进行基本的增删改查管理 市场价值:¥5000 计算机基础知识 计算机基础.DOS常用命令.Java概述.JDK环境安装配置.环境变量配置.Java程序入门 1.2015年Java基础视频-深入浅出精华版(强烈推荐) 2.历经5年锤炼(适合初学者入

Java学习作业(14.4.21)

前三次作业都是基础语法.真的好水啊.从这次开始记录. 1.编写Java程序,把当前目录下扩展名为txt的文件的扩展名全部更名为back. 1 import java.io.*; 2 import java.lang.*; 3 4 5 public class Home { 6 7 public void reName(String path, String from, String to) { 8 File f = new File(path); //声明File对象,用于导入修改路径 9 Fi