网站设置评价南川集团网站建设

张小明 2025/12/27 15:11:36
网站设置评价,南川集团网站建设,网页设计论文总结怎么写,建行app怎么注册登录文章目录Ⅰ. 文件 IO 的常用核心类#xff08;来自 java.io 包#xff09;Ⅱ. File 类题外话#xff1a;try-with-resources⭐Ⅲ. 字节流一、输入样例二、输出样例Ⅳ. 字符流一、输入样例二、输出样例Java IO 分为两个主要家族#xff1a;传统 IO#xff08;java.io 包IO 的常用核心类来自 java.io 包Ⅱ. File 类题外话try-with-resources⭐Ⅲ. 字节流一、输入样例二、输出样例Ⅳ. 字符流一、输入样例二、输出样例Java IO分为两个主要家族传统IOjava.io包基于流Stream数据一个字节(字符)一个字节(字符)地流动。适合较小数据量、阻塞式处理。NIONew IOjava.nio包基于缓冲区Buffer 和 通道Channel更高效、支持非阻塞 IO可用于高性能服务器适合大规模并发处理。这里主要介绍传统IO对于文件操作来说也主要用到的是传统IO而网络通信会用到NIO并且现在主流的框架已经集成了NIO所以不需要我们去调用NIO的原生API所以这里不重点展开学等到后面学框架的时候再学习时候使用即可Ⅰ. 文件IO的常用核心类来自java.io包类名类型功能File表示文件或目录不进行读写——FileInputStream / FileOutputStream字节流用于读写文件低级BufferedInputStream / BufferedOutputStream字节缓冲流加快读写速度包装在流外层FileReader / FileWriter字符流用于读写文本文件单字符读取低效BufferedReader / BufferedWriter字符缓冲流高效读写文本文件提供按行读取等功能InputStreamReader / OutputStreamWriter转换流字节流与字符流之间的桥梁ObjectInputStream / ObjectOutputStream对象流支持对象的序列化与反序列化注意事项其实因为FileReader和FileWriter的局限性比如不能指定编码、功能较弱、封装层少等所以一般处理字符流的时候用的是FileInputStream和FileOutputStream分别搭配上Scanner和PrintWriter即可Java IO使用装饰者模式Decorator允许你用更强功能 “包裹” 基础流如下所示// 字节流包裹BufferedInputStreaminnewBufferedInputStream(newFileInputStream(file.txt));// 字符流包裹BufferedReaderbrnewBufferedReader(newFileReader(test.txt))Ⅱ.File类File是java.io包中的一个核心类用于表示文件或目录的抽象路径名但它本身不进行文件内容读写而是用于检查、创建、删除、重命名文件和目录等 “元数据” 操作。方法 / 构造器返回类型说明File(String pathname)构造器通过路径字符串构造文件或目录File(String parent, String child)构造器使用父路径 子路径构造File(File parent, String child)构造器使用父 File 子路径构造exists()boolean路径是否存在isFile()boolean是否是普通文件isDirectory()boolean是否是目录createNewFile()boolean创建文件已存在时不创建mkdir()boolean创建目录单层mkdirs()boolean创建目录多层delete()boolean删除文件或空目录getName()String获取文件/目录名getPath()String返回构造File对象时传入的路径原样返回可能是相对路径getAbsolutePath()String获取绝对路径但不解析符号链接或目录符号getCanonicalPath()String获取绝对路径解析符号链接、.和..等等价于真实路径getParent()String获取父路径字符串length()long获取文件大小字节lastModified()long最后修改时间戳毫秒renameTo(File dest)boolean重命名或移动文件list()String[]返回目录下的文件名数组listFiles()File[]返回目录下的 File 对象数组canRead() / canWrite()boolean是否可读 / 可写setReadOnly()boolean设置为只读isHidden()boolean是否是隐藏文件举个例子假如当前路径是/home/user然后代码如下所示File filenewFile(../test.txt);System.out.println(getPath(): file.getPath());System.out.println(getAbsolutePath(): file.getAbsolutePath());System.out.println(getCanonicalPath(): file.getCanonicalPath());// 结果getPath():../test.txtgetAbsolutePath():/home/user/../test.txtgetCanonicalPath():/home/test.txt题外话try-with-resources⭐try-with-resources是Java 7引入的一种简洁语法结构用于自动关闭实现了AutoCloseable或Closeable接口的资源主要是确保资源在使用完毕后被自动关闭即使中间发生异常也不会泄露资源。传统写法有点累赘不优雅如下所示try{BufferedReaderreadernewBufferedReader(newFileReader(file.txt));Stringlinereader.readLine();System.out.println(line);}catch(IOExceptione){e.printStackTrace();}finally{if(reader!null){try{reader.close();}catch(IOExceptionex){ex.printStackTrace();}}}而try-with-resources写法如下所示try(BufferedReaderreadernewBufferedReader(newFileReader(file.txt))){Stringlinereader.readLine();System.out.println(line);}catch(IOExceptione){e.printStackTrace();}优势更简洁自动关闭资源省去了finally块在try中声明的资源编译器会自动生成finally代码块来调用它们的.close()方法。避免资源泄漏即使try里面发生异常Java保证所有资源都被依次、倒序地关闭。如果close()方法本身也抛出异常这些异常会被添加为抑制异常suppressed exceptions而不会吞掉原来的主异常。try中可以有多个语句需要用;分割即可Ⅲ. 字节流字节流主要用于处理二进制数据如图片、音频、视频、文件分别有输入字节流和输出字节流但它们都是抽象类需要通过特定功能的子类来创建实例我们重点放在文件相关的字节流类上抽象类子类示例InputStreamFileInputStream、BufferedInputStream、DataInputStream等等OutputStreamFileOutputStream、BufferedOutputStream、DataOutputStream等等下面是两者各自的方法以及共同的方法方法签名返回类型功能说明 FileInputStream 专属方法int read()int读取单个字节返回 0–255返回 -1 表示 EOFint read(byte[] b)int读取多个字节存入数组返回实际读取的字节数int read(byte[] b, int off, int len)int从偏移量 off 开始读取 len 个字节int available()int返回可读取的字节数非阻塞long skip(long n)long跳过 n 个字节返回实际跳过的字节数FileOutputStream 专属方法void write(int b)void写出一个字节仅低 8 位有效void write(byte[] b)void写出整个字节数组void write(byte[] b, int off, int len)void从偏移量off写出len个字节void flush()void强制刷新缓冲区将数据立即写入文件两者共有方法void close()void关闭流并释放系统资源FileDescriptor getFD()FileDescriptor获取底层文件描述符用于底层文件操作少用一、输入样例publicstaticvoidmain(String[]args){// try-with-resources风格try(InputStreaminnewFileInputStream(./main.txt)){byte[]bufnewbyte[1024];while(true){intnin.read(buf);// 磁盘数据读取到buf中if(n-1){System.out.println(读取完毕);break;}// 处理数据比如输出数据for(inti0;in;i){System.out.printf(0x%x\n,buf[i]);// 十六进制输出}}}catch(IOExceptione){e.printStackTrace();}}二、输出样例publicstaticvoidmain(String[]args){try(OutputStream outnewFileOutputStream(./main1.txt)){byte[]buf{97,98,99,100};out.write(buf);// 将buf数据写入到文件中去}catch(IOException e){e.printStackTrace();}}Ⅳ. 字符流这里主要采用的还是文件字节流加上Scanner、PrintWriter来处理字符这两者分别有以下优势Scanner可以轻松地读取int,double,String, 一行一行地处理文本nextLine()、nextInt()等还可以设置编码格式又因为它接受InputStream作为输入源所以能直接配合FileInputStream使用PrintWriter支持print(),println(),printf()等方法并且支持write(String)即可以传入String参数这种支持是非常爽的一、输入样例publicstaticvoidmain(String[]args){try(InputStreaminnewFileInputStream(./main.txt);Scanner scnewScanner(in,UTF-8)){// 循环读入每一行然后输出while(sc.hasNext()){String linesc.nextLine();System.out.println(line);}}catch(IOException e){e.printStackTrace();}}二、输出样例publicstaticvoidmain(String[]args){try(OutputStream outnewFileOutputStream(./main2.txt,UTF-8);PrintWriter pwnewPrintWriter(out)){// 将文本输出到文件中可以直接传String类型pw.write(啊啊~利刃啊liren\n利刃阿斯顿);}catch(IOException e){e.printStackTrace();}}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

什么网站好建设分类网站模版

如何轻松管理Electron应用的asar文件?WinAsar工具使用全攻略 【免费下载链接】WinAsar 项目地址: https://gitcode.com/gh_mirrors/wi/WinAsar 还在为复杂的asar文件操作而烦恼吗?WinAsar作为一款专为Windows平台设计的图形化asar文件管理工具&a…

张小明 2025/12/26 8:21:52 网站建设

树莓派可以做网站空间吗哪些网站做推广效果好

你是否曾经因为缺乏音乐基础而无法将灵感转化为歌曲?是否在为短视频配乐时苦恼于版权问题?现在,AI音乐创作技术正在彻底改变这一现状。腾讯开源的SongGeneration项目,让每个人都能成为音乐创作者。 【免费下载链接】SongGeneratio…

张小明 2025/12/27 13:58:53 网站建设

确定网站推广目标有没有网站可以做试卷

在论文、报告、内容创作越来越严格的时代,查AI率、检测AI率、降AI率 已经成为学生、写作者、博主的日常需求。很多同学因为 AI率过高被导师指出“AI痕迹太重”,甚至退回重写。本文今天一次性告诉你: 检测AI率应该注意什么 免费查AI率的网站有…

张小明 2025/12/26 8:20:44 网站建设

虹口房产网站建设建个企业网站一年多少钱

还记得那些让你抓狂的模糊视频吗?老旧的监控录像、压箱底的婚礼视频、还有那些像素感满满的游戏录屏...别担心,今天我要带你解锁AI视频增强的神奇技能,让你的视频重获新生! 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址:…

张小明 2025/12/26 8:20:10 网站建设

企业网站制作建设学科基地网站建设

GetQzonehistory:轻松备份QQ空间历史说说的专业工具 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory GetQzonehistory是一个专为QQ空间用户设计的智能备份工具,能…

张小明 2025/12/26 8:19:36 网站建设

ppt做的模板下载网站有哪些内容黄页官网

你是否曾经幻想过,只需动动嘴皮子就能让电脑自动完成所有繁琐操作?当你面对重复的点击、拖拽、输入时,是否渴望有一个得力的数字助手?UI-TARS Desktop正是这样一个革命性的GUI自动化工具,它正在彻底改变我们与计算机的…

张小明 2025/12/26 8:19:00 网站建设