-
transient不会进行jvm默认的序列化操作查看全部
-
读文件的方式<br> 1:单字节读取,不适合大文件<br> 2:批量字节读取,适合大文件的读取,比较常用,当然,一次控制读取多少字节,要适中一般是1024的倍数 IO读取结束之后一定要关闭资源查看全部
-
字节流操作查看全部
-
int Bytes =in.read(buf).是把in里面的数组放到buf中去查看全部
-
file操作过程查看全部
-
Java的file操作查看全部
-
RandomAccessFile : java提供的对文件内容的访问 既可以读文件 也可以写文件 支持随机访问文件 可以访问文件的任意位置 (1)java文件模型 :在硬盘上的文件是byte byte byte 存储的 是数据的集合 (2)打开文件有两种模式 rw 读写 r只读 RandomAccessFile raf=new RandomeAccessFile(file,"rw"); 文件指针, 打开文件时指针在开头pointer=0; (3)写方法 raf.write(int) ----> 只写一个字节 (后8位) 同时指针指向下一个位置 准备再次写入 (4)读方法int b=raf.read(); 读一个字节 (5)文件读写完成后一定要关闭raf.close(); (oracle官方说明) raf.getFilePointer()获取当前指针位置 raf.length()获取文件长度 raf.seek()把指针指定到某一位置查看全部
-
计算机有多种编码方式,本质上任何一个文件都是字节流,区别在于系统的编码方式,编码方式不同,得出的结果也不同,所以有些时候会产生乱码,而在中文计算机中创建的文件默认的编码方式是ansi,如果像刚才那个联通的例子就会出现乱码,但是本质上计算机可以识别所有的编码方式,所以如果是已经编码好的文件粘贴过来的话就会正常识别。在eclipse中每一个项目都有自己固定的编码方式,不能兼容,所以说项目之间的文件不能互相识别,但是文件中的内容却可以正常粘贴并识别,因为其编码是跟着文件走的。中文系统下ansi编码代表gbk编码查看全部
-
transient关键字,修饰的属性不会进行默认的序列化查看全部
-
对象必须实现序列化接口才能序列化,否则将出现异常查看全部
-
String s="慕课ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列,eclipse用的是项目(默认)的编码 for(byte b: bytes1) System.out.println(Integer.toHexString(b & 0xff)+" ");// & 0xff是为了把前面的24个0去掉只留下后八位 //toHexString这个函数是把字节(转换成了Int)以16进制的方式显示 byte[] bytes1=s.getBytes("gbk");//也可以转换成指定的编码 gbk编码: 中文占用两个字节,英文占用一个字节 utf-8编码:中文占用三个字节,英文占用一个字节 java是双字节编码,是utf-16be编码 utf-16be编码:中文占用两个字节,英文占用两个字节 当你的字节序列是某种编码时,这个时候想把字节序列变成字符串,也需要用这种编码方式,否则会出现乱码 String str1=new String(bytes4);//这时会使用项目默认的编码来转换,可能出现乱码 要使用字节序列的编码来进行转换 String str2=new String(bytes4,"utf-16be"); 文本文件就是字节序列,可以是任意编码的字节序列 如果我们在中文机器上直接创建文本文件,那么该文件只认识ANSI编码(例如直接在电脑中创建文本文件)查看全部
-
看图的基本内容查看全部
-
看遍历子目录的代码。查看全部
-
list遍历文件夹下的子目录名称。查看全部
-
编码问题:查看全部
举报
0/150
提交
取消