-
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)文件读写完成后一定要关闭 (oracle官方说明) raf.getFilePointer()获取当前指针位置 raf.length()获取文件长度 raf.seek()把指针指定到某一位置查看全部
-
public String[] list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 exists()方法用于判断文件或目录是否存在 file.list() 返回的是 字符串数组 直接子的名称,不包含子目录下的内容 file.listFiles() 返回当前目录下的所有子目录和文件的文件数组名称 ======================================== 如果要遍历子目录下的内容就需要构造成File对象做递归操作 //throws IOException 回避了IO的抛出异常 File[] files = dir.listFiles();//返回的是直接子目录(文件)的抽象 if (file!=null && files.length > 0){ for(File file:files){ if(file.isDrectory()){ listDirectory(file); }else{ System.out.println(file); } } }查看全部
-
文件常用的基本操作(API): 1.在指定的磁盘当中查找是否存在文件 File file=new File("E:\\JAVA"); 2.判断文件是否存在 file.exists(); 3.创建文件 file.mkdirs();或者用file.creaetNewFile() 4.查看文件是否是目录,即文件夹 file.isDirectory(); 5.查看文件是否是文件 file.isFile(); 6.system.out.println(file)//直接打印该路径 7.file.getname//直接打印目录名字或者文件的名字查看全部
-
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编码(例如直接在电脑中创建文本文件)查看全部
-
JAVA I/O 输入输出流查看全部
-
字符流查看全部
-
字节流的方法功能查看全部
-
IO接口查看全部
-
反序列化父类不实现serializable接口则会调用构造函数查看全部
-
序列化中父子类的构造函数的问题:<br> 1:一个类实现了序列化接口,那么其子类都可以进行序列化<br> 2:序列化的时候,使用子类创建对象的时候会递归调用父类的构造函数——JAVA是单继承的语言,要先有父再有子 3:反序列化的时候,对子类对象进行反序列化操作时,如果其父类没有实现序列化接口,那么其父类的构造函数会被递归调用——直接父类和间接父类都是如此的,反之,如果父类实现了序列化的接口,那么子类继承它的属性和方法就可以直接反序列化,就不会调用父类的构造函数了。查看全部
-
有效元素进行序列化,无效的元素不进行序列化,提高系统的性能。 一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient查看全部
-
通常使用PrinterWriter和BufferedReader来使用 PrinterWriter pw = new PrinterWriter("D:"+File.sperator()+"demo.txt");查看全部
-
文件操作查看全部
-
file文件操作查看全部
举报
0/150
提交
取消