-
package com.imooc.io; // 文件传输基础——Java IO流...6-1 序列化基本操作 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ObjectSeriaDemo1 { public static void main(String[] args)throws Exception { String file = "demo/obj.dat"; //1.对象的序列化 // ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); // Student stu = new Student("10001","张三",20); // oos.writeObject(stu); // oos.flush(); // oos.close(); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu =(Student)ois.readObject(); System.out.println(stu); ois.close(); } }查看全部
-
3、对象的序列化、反序列化 1)对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化。 2)序列化流(ObjectOutputStream)是过滤流 --> writeObject 反序列化流(ObjectInputStream) -->readObject 3) 序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常 这个接口,没有任何方法,只是一个标准 private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作 s.writeInt(stuage);//自己完成stuage的序列化 } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,ClassNotFoundException{ s.defaultReadObject();//把jvm能默认反序列化的元素进行序列化操作 this.stuage = s.readInt();//自己完成stuage的反序列化操作 }查看全部
-
1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化 2.序列化流(OjectOutputStream)是过滤流----writeObject 反序列化流(ObjectInputStream)----readObject 3.序列化借口(Serializable) 对象必须实现序列化借口,才能进行序列化,否则将出现异常 这个借口,没有任何方法,只是一个标准 对象实体类的序列化与反序列化 public static void main(String[] args) throws IOException, Exception { String file = "F:/IO流/序列化/test.txt"; // 1.对象的序列化 /*ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream( file)); Student stu = new Student("10011", "张三 ", 20); oos.writeObject(stu); oos.flush(); oos.close();*/ // 2.反序列化 ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu2 = (Student) ois.readObject(); System.out.println(stu2); ois.close(); }查看全部
-
gbk:一个中文占用2个字节,英文占1个字节; utf-8:一个中文占用3个字节,英文占1个字节; utf-16be:中文和英文各占用2个字节。查看全部
-
文件拷贝,字节批量读取//拷贝耗时最短:7ms查看全部
-
单字节,不带缓冲进行文件拷贝查看全部
-
Java.IO.File类表示文件或目录,只用于表示文件或目录得信息,不能用于文件的访问。 常用的API: 1.创建File对象:File file=new File(String path);注意:File.seperater();获取系统分隔符,如:”\“. 2.boolean file.exists();是否存在. 3.file.mkdir();或者file.mkdirs();创建目录或多级目录。 4.file.isDirectory()或者file.isFile()判断是否是目录或者是否是文件。 5.file.delete();删除文件或目录。 6.file.createNewFile();创建新文件。 7.file.getName()获取文件名称或目录绝对路径。 8.file.getAbsolutePath()获取绝对路径。 9.file.getParent();获取父级绝对路径。 10.file.getSize();获取文件大小。 11.file.getFormat();获取文件格式名。查看全部
-
String s="慕课ABC"; byte[] bytes1=s.getBytes();//这是把字符串转换成字符数组,转换成的字节序列用的是项目默认的编码 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编码(例如直接在电脑中创建文本文件)查看全部
-
File file=new File(String path); 即:File file=new File("E:\\JAVA");查看全部
-
字符流的过滤器: BufferedReader:readLine 一次读一行 BufferedWriter/PrintWriter: 一次写一行 public class BrAndBwOrPwDemo { public static void main(String[] args) throws IOException { // 对文件进行读写操作 BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream("e:\\javaio\\file.txt"))); // BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( // new FileOutputStream("e:\\javaio\\file3.txt"))); PrintWriter pw = new PrintWriter("e:\\javaio\\file4.txt"); String line; while ((line = br.readLine()) != null) { System.out.println(line);// 一次读一行,并不能识别换行 // bw.write(line); // //单独写出换行操作 // bw.newLine();//换行操作 // bw.flush(); pw.println(line); pw.flush(); } br.close(); // bw.close(); pw.close(); } }查看全部
-
BufferedReader--readLine方法一次读一行,但不能识别换行,只能用println来打印查看全部
-
long start=system.currentTimeMillis();可获取读取时间查看全部
-
raf.length是long型查看全部
-
自动写最低的八位查看全部
-
randomaccessfile Java提供的对文件内容的访问,既可以查看全部
举报
0/150
提交
取消