标签:代号 bsp width 不用 art ring rod 占用 mic
对象想要被传输, 需要通过序列化来将对象编程“序列”.
字符集对字符流的影响. 字符流底层还是字节流.
public class IOTest { public static void main(String[] args) { // TODO Auto-generated method stub String path = "C:\\JavaWork\\eclipse-workspace\\MyProject01\\src\\smart_production.JPG"; String path2 = "C:/JavaWork/eclipse-workspace/MyProject01/src/smart_production.JPG"; String path3 = "C:" + File.separator + "JavaWork" + File.separator + "eclipse-workspace" + File.separator + "MyProject01" + File.separator + "src" + File.separator + "smart_production.JPG"; System.out.println(path); System.out.println(path2); System.out.println(path3); } // 建议, path2 和 path3 都没有问题, 主要建议使用 path2 的方式 }
输出结果:
// 下级名称 list File dir = new File("C:/JavaWork/eclipse-workspace/MyProject01/src"); String[] subNames = dir.list(); for (String s:subNames) { System.out.println(s); } // 下级对象 listFiles() File[] subFiles = dir.listFiles(); for (File s:subFiles) { System.out.println(s.getAbsolutePath());
遍历所有的文件(子文件夹也遍历), 递归
File src = new File("C:/JavaWork/eclipse-workspace/MyProject01/src"); printName(src, 0); } // 用递归, 非常占用内存 public static void printName(File src, int deep) { System.out.println(src.getName() + " " + deep); if (null == src || !src.exists()) { return; } else if (src.isDirectory()) { for (File s:src.listFiles()) { printName(s, deep+1); } } }
编码: 由字符 -> 字节(2进制), encode
解码: 有字节 -> 字符(人能读懂), decode (计算机只认识 0低电平,1高电平 等字节)
"a" 有个代号整数比如64,然后转换成 2进制数, 就编码了(转换成字节码了). 所以这个代号的集合就是字符集. 同样 "中"这个字也是可以利用字符集来编码.
// 编码: 字节数组 byte[] datas = msg.getBytes(); // 默认使用工程的字符集 System.out.println(datas.length); // 解码: 字符串 msg = new String(datas, 0, datas.length, "UTF-8");
解码的过程中可能产生乱码: 因为长度不够, 比如 datas.length-2, 或者是字符集跟之前不匹配.
字节流: 处理视频, 音频, word, excel 等
字符流: 比如处理纯文本, 也就是说文件本身就是字符的, 那么,我们不用编码成字节了, 可以直接处理.
标签:代号 bsp width 不用 art ring rod 占用 mic
原文地址:https://www.cnblogs.com/moveofgod/p/12436718.html