专业的佛山网站建设公司,香河县住房和城乡建设部网站,登陆国外的网站要这么做,如何删除wordpress文件夹Java知识点总结#xff1a;想看的可以从这里进入 目录5、打印流6、转换流7、数据流8、随机访问流5、打印流 实现将基本数据类型的数据格式转化为字符串输出#xff0c;它们提供了一系列重载的print()和println()方法#xff0c;用于多种数据类型的输出#xff0c;这种流不会… Java知识点总结想看的可以从这里进入 目录5、打印流6、转换流7、数据流8、随机访问流5、打印流 实现将基本数据类型的数据格式转化为字符串输出它们提供了一系列重载的print()和println()方法用于多种数据类型的输出这种流不会出现IOException异常。 PrintWriter在Java的IO流中提供了字符输出的类PrintWriter它具有自动刷新缓冲字符输出流按行写出字符串提供println()方法用于自动换行。 PrintWriter fw new PrintWriter(file);PrintStream在Java的IO流中提供了字节输出的类PrintStream它打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下应该使用 PrintWriter 类。 System.out返回的是PrintStream的实例 PrintStream printStream new PrintStream(file);public class Io {public static void main(String[] args) throws Exception{//创建文件对象File file1 new File(d:/mydata/a.txt);File file2 new File(d:/mydata/acopy.txt);try (FileReader fr new FileReader(file1);BufferedReader in new BufferedReader(fr);PrintWriter fw new PrintWriter(file2); //字符输出流){String line;//一次读取一行读到换行时结束while((linein.readLine())!null){fw.println(line); //println直接换行这种比使用文件字符流、缓冲字符流更方便}} catch (Exception e) {e.printStackTrace();}}
}6、转换流 在Java中提供了将字节流转换成字符流的转换流InputStreamReader和OutputStreamWriter。流在转换后读取数据时会存在编码的问题。
计算机上显示的信息在计算机都是以二进制形式保存的所以必须按照一定的规则将二进制数据解析并显示如果规则不正确则会导致乱码问题。字符集 Charset是一个系统支持的所有字符的集合包括各国家文字、标点符号、图形符号、数字等。常见的字符集有ASCII、GBK、Unicode常用的为UTF-8等。 常见的编码表 ASCII美国标准信息交换码。用一个字节的7位可以表示。 ISO8859-1拉丁码表。欧洲码表用一个字节的8位表示。 GB2312中国的中文编码表。最多两个字节编码所有字符 GBK中国的中文编码表升级融合了更多的中文文字符号。最多两个字节编码 Unicode国际标准码融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。所有的文字都用两个字节来表示。 UTF-8变长的编码方式可用1-4个字节来表示一个字符。 在接收键盘输入System.in时就是使用的转换流将字节转换成字符流再使用BufferedReader
InputStreamReader将InputStream转换为ReaderOutputStreamWriter将Writer转换为OutputStream
FileInputStream fis new FileInputStream(file1); //文件字节流
InputStreamReader is new InputStreamReader(fis,utf-8); //将字节流转为字符流
BufferedReader in new BufferedReader(is); //再使用缓冲流FileOutputStream fos new FileOutputStream(file2);
OutputStreamWriter os new OutputStreamWriter(fos,utf-8);
BufferedWriter out new BufferedWriter(os);7、数据流 数据流DataInputStream、DataOutputStream专门用来操作基本数据类型上述的字符流和字节流不能直接操作像longfloatdoubleboolean这些数据类型而数据流对八种基本数据类型都可以操作。
数据流本身也属于一种字节流属于处理流写入的是二进制通过对应输出流输出所需数据。
FileInputStream fis new FileInputStream(file1);
BufferedInputStream bis new BufferedInputStream(fis);
DataInputStream in new DataInputStream(bis); //数据流FileOutputStream fos new FileOutputStream(file2);
BufferedOutputStream bos new BufferedOutputStream(fos);
DataOutputStream out new DataOutputStream(bos); //数据流DataOutputStream提供的一些对应数据类型的方法 DataInputStream提供的读取方法读取的类型要一致写入的顺序和读取的顺序一致 8、随机访问流 RandomAccessFile 声明在java.io包下直接继承于java.lang.Object类,它实现了DataInput、DataOutput这两个接口所以它同时拥有读写的功能。
它采用随机访问程序可以直接跳到文件的任意地方来读、写文件它内部采用一个指针来记录当前读取的位置而RandomAccessFile之所以可以随机访问就是因为能自由的移动该指针。
ong getFilePointer()获取指针的当前位置void seek(long pos)将指针移动到指定的位置
//构造方法其中mode 参数指定了RandomAccessFile 的访问模式
//1、r: 以只读方式打开不会创建文件
//2、rw打开以便读取和写入如果文件不存在会创建文件
//3、rwd:打开以便读取和写入同步文件内容的更新
//4、rws:打开以便读取和写入同步文件内容和元数据的更新
public RandomAccessFile(String name, String mode)throws FileNotFoundException{this(name ! null ? new File(name) : null, mode);
}
public RandomAccessFile(File file, String mode)throws FileNotFoundException{this(file, mode, false);
}
其实这个类通常用来下载我们在下载时会创建两个文件一个文件是与被下载文件大小相同的空文件另一个文件用来记录指针的位置如果这次下载暂停后下次继续下载时可以通过记录的指针位置继续上次的下载。