摘要: 字节流:可以拷贝任意类型的文件 字符流: 1. 可以读取纯文本文件中的数据 2. 可以往纯文本文件中写出数据 阅读全文
posted @ 2023-10-23 21:52 1stzz1 阅读(58) 评论(0) 推荐(0)
摘要: FileWriter 书写细节: 1. 创建字符输出流对象 细节①:参数是字符串表示的路径 或者 File 对象都可以 细节②:如果文件不存在会创建一个新的文件,但要保证父级路径是存在的 细节③:如果文件已经存在,则会清空文件,如果不想清空可以打开续写开关 2. 写数据 细节:如果 write 方法 阅读全文
posted @ 2023-10-23 21:37 1stzz1 阅读(72) 评论(0) 推荐(0)
摘要: FileReader fr = new FileReader("E:\\Java基础资料\\a.txt");char[] chars = new char[2];while (true) { int len = fr.read(chars); if (len == -1) break; System 阅读全文
posted @ 2023-10-23 21:07 1stzz1 阅读(36) 评论(0) 推荐(0)
摘要: FileReader:从纯文本文件中读取数据 FileReader 的使用步骤: 1. 创建字符输入流对象 → public FileReader (File file) 或者 public FileReader (String pathname) 细节:如果文件不存在,就直接报错 2. 读取数据 阅读全文
posted @ 2023-10-23 20:45 1stzz1 阅读(317) 评论(0) 推荐(0)
摘要: 字符流的底层其实就是字节流,只不过在字节流的基础上又添加了字符集的概念(字符流 = 字节流 + 字符集) 字符流的特点: 输入流:一次读一个字节,遇到中文时,一次读多个字节(GBK一次读两个,UTF-8一次读三个) 输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中 字符流应用场景 阅读全文
posted @ 2023-10-23 20:13 1stzz1 阅读(92) 评论(0) 推荐(0)
摘要: 所谓编码,就是把我们要存储的数据变成能真正的存储在硬盘当中的字节数据 编码的方法: public byte[] getBytes () → 使用默认方式进行编码(idea默认使用UTF-8;eclipse默认使用GBK) public byte[] getBytes (String charsetN 阅读全文
posted @ 2023-10-23 20:03 1stzz1 阅读(160) 评论(0) 推荐(0)
摘要: 所谓编码,就是把我们要存储的数据变成能真正的存储在硬盘当中的字节数据 阅读全文
posted @ 2023-10-23 19:44 1stzz1 阅读(12) 评论(0) 推荐(0)
摘要: 为什么会有乱码? 原因①:读取数据的时候未读完整个汉字 原因②:编码和解码的方式不统一 如何不产生乱码? 1. 不要用字节流读取文本文件 2. 编码解码时使用同一个码表,同一种编码方式 问:字节流读取中文会乱码,但为什么拷贝文本文件不会乱码呢? 答:拷贝时,是一个字节一个字节地拷贝过去的,数据没有丢 阅读全文
posted @ 2023-10-23 19:41 1stzz1 阅读(50) 评论(0) 推荐(0)
摘要: UTF-8 不是字符集,而是 Unicode 字符集的一种编码方式 UTF-8 编码规则:用 1~4 个字节保存 UTF-8 规定,如果是 ASCII 里面的英文字母,统一用一个字节表示,二进制的第一位是 0,转成十进制是正数 UTF-8 规定 一个中文用三个字节表示,二进制的第一位是 1,第一个字 阅读全文
posted @ 2023-10-23 19:29 1stzz1 阅读(94) 评论(0) 推荐(0)
摘要: 在计算机中,任意数据都是以二进制的形式来存储的 8个比特为1个字节,字节是计算机最小的存储单元 计算机在存储英文的时候,只需一个字节 简体中文版 Windows 默认使用 GBK 字符集。GBK 字符集完全兼容 ASCII 字符集 GBK编码: 规则①:一个汉字用两个字节存储(英文字母占一个字节,二 阅读全文
posted @ 2023-10-23 19:11 1stzz1 阅读(21) 评论(0) 推荐(0)
摘要: finally 里面的代码是一定会执行的,除非虚拟机停止(跟 JVM 退出是一个意思) 所以经常把释放资源之类的扫尾代码放在 finally 里面 语法格式: try { } catch (Exception e) { } finally { } JDK7 的时候,Java 推出了一个接口叫 Aut 阅读全文
posted @ 2023-10-23 16:54 1stzz1 阅读(18) 评论(0) 推荐(0)
摘要: public int read () → 一次读取一个字节数据 public int read (byte[] buffer) → 一次读取一个字节数组的数据,读取完后,会把读取到的数据还存到参数的数组当中; 返回值表示 本次读取到了多少个字节数据,如果读不到数据,返回 -1 read (byte[ 阅读全文
posted @ 2023-10-23 15:37 1stzz1 阅读(244) 评论(0) 推荐(0)
摘要: 基本代码:FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");FileOutputStream fos = new FileOutputStream("E:\\Java基础资料\\b.txt" );while (true) 阅读全文
posted @ 2023-10-23 15:25 1stzz1 阅读(17) 评论(0) 推荐(0)
摘要: FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt");/*int b;while((b = fis.read()) != -1) { System.out.print((char)b);}*/while (true) { i 阅读全文
posted @ 2023-10-23 15:13 1stzz1 阅读(62) 评论(0) 推荐(0)
摘要: 1. 创建字节输入流对象:FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt"); 细节:如果文件不存在,就直接报错 2. 读取数据(read 方法负责读取数据,会一个一个地读,如果读不到了,就会返回 -1) 细节①:一次读取 阅读全文
posted @ 2023-10-23 14:55 1stzz1 阅读(315) 评论(0) 推荐(0)
摘要: 操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来 步骤: 1. 创建字节输入流对象 FileInputStream fis = new FileInputStream("E:\\Java基础资料\\a.txt"); 2. 读取数据(read 方法负责读取数据,会一个一个地读,如果读不到 阅读全文
posted @ 2023-10-23 14:37 1stzz1 阅读(27) 评论(0) 推荐(0)
摘要: 要想换行写,只需在两个 write() 方法之间再次写出一个换行符就可以了 Windows:\r\n Linux:\n Mac:\r 细节:在 Windows 操作系统当中,Java 对回车换行进行了优化,虽然完整的是 \r\n,但是我们写其中一个 \r 或者 \n,Java 也能实现换行,因为 J 阅读全文
posted @ 2023-10-23 09:26 1stzz1 阅读(711) 评论(0) 推荐(0)