Java被忽略的基本知识(四)

Java IO(不是一般的重要)

54、IO中的流:字节流(InputStream、OutputStream)、字符流(Reader、Writer)、转换流(InputStreamReader、OutputStreamWriter)、压缩流(zipXxx())、管道流(PipedInputStream、PipedOutputStream)、内存流(ByteArrayInputStream、ByteArrayOutputStream)、合并流(SequenceInputStream)、数据操纵流(DataInputStream、DataOutputStream)、回退流(PushbackInputStream、PushbackReader)。

55、Java中IO操作相应步骤:a  使用File类打开一个文件;b 通过通过字节流或字符流的子类指定输出的位置;c 进行读/写操作;d 关闭输入流/输出流.

56、File常用的方法:File.separator、File(str)、createNewFile()、delete()、exits()、isDirectory()、length()、mkdir()、public File[] listFiles()(列出指定目录的全部内容,会列出路径)、public String[] list()(列出目录的全部内容,只列出了文件的名称,没有文件的全路径)、renameTO(File dest)。

57、增加换行 \r\n。

58、在文件尾处添加信息,不将原来的信息覆盖:new FileInputStream(file,true)、new FileWriter(file,true)。

59、读取内容:

InputStream类 byte[] b=new byte[(int)file.length];

input.read(b);

或while((temp=input。read())!=-1)

{

b[len]=(byte)temp;

++len;

}

FileReader类 while((temp=reader.read())!=-1)

{

ch[len]=(char)temp;

++len;

}

60、写入内容:OutputStream类 byte[] b=str.getBytes();out.writer(b)。FileWriter类 out.write(str);

61、字符流与字节流的区别:字节流直接操作文件本身,字符流通过缓冲区间接操作文件。所有的文件在硬盘的或在传输时都以字节流的形式进行,字节流操作更广泛。

62、边度边写 while((temp=input.read())!=-1){ out.write(temp);}。

63、转换流 OutputStreamWriter 是Writer的子类,InputStreamReader是Reader的子类。

64、管道(线程间通信通过管道)流:PipedInputStream、PipedOutputStream(该类有个connect(PipedInputStream pi)方法将两个关联起来)。

65、打印流:PrintStream、PrintWriter,可以

时间: 2024-10-11 10:05:29

Java被忽略的基本知识(四)的相关文章

Java被忽略的基本知识(一)

工作一段时间发现Java的基本知识不是一般的重要,基本知识好项目理解快.特此看java的基本知识书本<Java项目实战开发>李兴华版,看完此书准备再看一下java更深一点的书--<Java核心技术 卷1>.<Java核心技术 卷2>. 总结如下: 一 概念 1.Java数据类型分类 2.String.true.false.null不是Java的关键字,关键字也叫保留字. 3.Java使用的是Unicode字符码系统. 4.任何数据类型遇到String类型的变量或常量之后

Java被忽略的基本知识(二)

14.字符串的内容不可改变,不能修改某个下标的字符值.字符串之间的"+"连接是通过"断开--再连接",修改变量的栈中的引用地址指向. 15.对于数组.类(类的属性中可以有String)的实例化对象作为参数时,方法将其改变后,原来的主方法的值也会改变. 而对于String类变量为参数时,方法中修改其值,原来的String值不会改变,因为String类型值的改变是引用堆地址的指向不同,原来的堆内容还存在. 16.this关键字:表示类中的属性.调用方法或构造方法(放在第

Java被忽略的基本知识(三)

35.e.printStackTrace();输出异常信息,也可以使用System.out.println(e); 36.范围小的异常,要放在范围大的异常前面. 37.断言:判断某个结果的正确性,正确(true)不做任何处理,错误(false)显示错误信息.assert boolean表达式  : 提示信息:虽然断言返回的是Boolean表达式,但其不能作为判断条件语句,不要过多使用断言. 38.包引入有具体包名.部分报名加星(*)的性能一样,程序只加载所需的类. 39.静态导入:若一个类中的方

Java多线程完整版基础知识

Java多线程完整版基础知识 (翟开顺由厚到薄系列) 1.前言 线程是现代操作系统中一个很重要的概念,多线程功能很强大,java语言对线程提供了很好的支持,我们可以使用java提供的thread类很容易的创建多个线程.线程很不难,我对之前学习过的基础,在这做了一个整理,本文主要参考的是Java研究组织出版的j2se进阶和张孝祥-java就业培训教材这两本书 2.概述 2.1线程是什么 主要是线程与进程的区别,这里不再阐述,自行网上搜索 为什么使用线程:操作系统切换多个线程要比调度进程在速度上快很

两个容易被忽略的mysql知识

原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题. 1.varchar(5)可以存储多少个汉字,多少个字母数字? 相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们能很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有可能对上面的问题做出错误

JAVA Zero Copy的相关知识

介绍 java 的zero copy多在网络应用程序中使用.Java的libaries在linux和unix中支持zero copy,关键的api是java.nio.channel.FileChannel的transferTo(),transferFrom()方法.我们可以用这两个方法来把bytes直接从调用它的channel传输到另一个writable byte channel,中间不会使data经过应用程序,以便提高数据转移的效率. 传统的数据复制方式及涉及到的上下文切换: 通过网络把一个文

Python基础知识(四)

Python基础知识(四) 一丶列表 定义格式: 是一个容器,由 [ ]表示,元素与元素之间用逗号隔开. 如:name=["张三","李四"] 作用: 存储任意类型的数据 (32位机器能存5亿多,64为机器存储更多) 特点: 可变 (增,删,改,查) 默认从左到右 ,从0开始 . 有序(索引,切片,步长) 操作: 增 , 删 , 改 ,查 ,索引,切片,步长 ?? #列表的两种定义方式 name=["香蕉","西瓜",&quo

《Java核心技术 卷1 基础知识》三

<Java核心技术 卷1 基础知识> 第六章 接口和内部类 接口不是类,而是对类的的一组需求描述. 接口不能包含实例域--接口没有实例 可以将接口看作没有实例域的抽象类 要将类声明为实现某个接口,需要使用关键字implements. 类实现一个接口的具体步骤为: 1)使用implements关键字进行声明要实现的接口 2)对接口中的所有方法进行定义 接口中的所有方法默认为public 但在实现接口时需要声明为public 这里介绍了Comparable接口,该接口只有一个方法,compareT

Java 线程第三版 第四章 Thread Notification 读书笔记

一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(long timeout) throws InterruptedException 等待条件的发生.如果通知没有在timeout指定的时间内发生,它还是会返回. public final void wait(long timeout, int nanos) throws InterruptedException