已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
File类案例一:public static void main(String args) throws Exception File f0 = new File(abc.txt);f0.createNewFile();File f1 = new File(abc/bac);f1.mkdirs();File f2 = new File(cde, bcd/java.txt);System.out.println(f2.getPath();System.out.println(f2.getParent();System.out.println(f2.getName();System.out.println(f2.getAbsolutePath();File f5 = new File(c:);System.out.println(f5.isDirectory();/ true案例二打印一个文件目录下的所有文件。(包含子文件夹下面的子文件)1.先创建一个file对象2.循环打印,如果当前的文件是一个文件,就打印名字,如果是个目录继续循环。用递归的方法进行。代码:public class BianLiDir public static void printNames(File f)try if(f.isFile()System.out.println(f.getName().endsWith(.java)?f.getName():);/如果为目录,则进行遍历elseFile files=f.listFiles();for(File file:files)if(file.isFile()System.out.println(file.getName().endsWith(.java)?file.getName():);elseprintNames(file); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();public static void main(String args) / TODO Auto-generated method stubFile f=new File(D:工商学院CoreJavaCoreJava案例corejava第9章);printNames(f);I/O流 三种分类 输入流 输出流 ;字节流,字符流;节点流 过滤流文件输入输出流 read返回的下一个字节 后面方法会在返回-1之前一直阻塞,直到把所有的字节读到数组a里面 FileOutputStream write write(byte a)输入流InputStream in=new FileInputStream(abc.txt);byte b=new byte2048;int len=0;while(len=in.read(b)!=-1)System.out.println(new String(b); 输出流String hello = 2;byte bs = hello.getBytes();FileOutputStream fout = new FileOutputStream(test.txt,true);fout.write(bs);fout.close();过滤流首先创建节点流,然后用过滤流的构造方法进行创建,里面参数就是节点流对象,然后可以调用过滤流进行读写。这里主要针对单种类型的数据进行过滤。基本类型的过滤流 DataStream包括DataInputStream和DataOutputStream/ 创建节点流FileOutputStream fout = new FileOutputStream(pi.dat);/ 封装过滤流DataOutputStream dout = new DataOutputStream(fout);/ 写数据dout.writeDouble(3.14);/ 关闭外层流dout.close();/ 创建节点流FileInputStream fin = new FileInputStream(pi.dat);/ 封装过滤流DataInputStream din = new DataInputStream(fin);/ 读数据double pi = din.readDouble();/ 关闭外层流din.close();System.out.println(pi); 缓冲输入和输出字节流BufferedInputStream和BufferedOutputStreampublic class TestBufferedStream public static void main(String args) throws Exception String data = Hello World;byte bs = data.getBytes();/ 创建节点流FileOutputStream fout = new FileOutputStream(test.txt);/ 封装过滤流BufferedOutputStream bout = new BufferedOutputStream(fout);/ 写数据bout.write(bs);/ 关闭外层流bout.close(); / bout.flush(); 读取对象和对象序列化 从文件中循环读取所有的java对象(要求对象代表的类实现序列化接口)/从文件中读取java对象public static List readFromDat (String filename) throws ExceptionList objs=new ArrayList();InputStream fin=new FileInputStream(filename);ObjectInputStream oin=new ObjectInputStream(fin);Object obj=null;while(true)obj=oin.readObject();objs.add(obj);if(fin.available()=0)break;oin.close();return objs;字符流1.编码String ori=你好;byte orib=ori.getBytes(utf-8);System.out.print(new String(orib,utf-8);也就是编码和解码都采用同一种方式,就不会出现乱码。如果出现了乱码,可以用以下方式解决:String str = 测试;byte bytes = str.getBytes(GBK);/ 使用错误的字符编码解码String errorStr = new String(bytes, 除了utf-8之外的);System.out.println(errorStr);/ 使用错误的字符编码还原回bytebyte bytes2 = errorStr.getBytes(除了utf-8之外的);/ 再用正确的字符编码来解码,成功解决乱码问题String rightStr = new String(bytes2, GBK);System.out.println(rightStr);但是中间的编码方式不能utf-8因为是可变长的编码。2.FileReader, FileWriter 这两个类构造方法里面不能指定编码方式,所以基本不用了。采用inputstreamreader和outputstreamwriter两个类来进行读写字符流。3.通过桥接的方式来连接字符流和字节流,里面的参数是字节流对象代码:写入内容public static void main(String args) throws Exception / TODO Auto-generated method stubOutputStream out=new FileOutputStream(article.txt);String str=shandonggongshang学院;Writer w=new OutputStreamWriter(out,utf-8);w.write(str);w.close();读取内容public class ReadArticleByReader public static void main(String args) throws Exception / TODO Auto-generated method stubInputStream in=new FileInputStream(abc.txt);Reader r=new InputStreamReader(in);char cs=new char1024;int len=0;while(len=r.read(cs)!=-1)System.out.println(new String(cs);4.缓冲流 BufferedReader可以直接读行 方法readLine 读取代码public static void main(String args) throws Exception/ TODO Auto-generated method stubInputStream in=new FileInputStream(channel1.txt);Reader r=new InputStreamReader(in);BufferedReader br=new BufferedReader(r);String str=null;while(str=br.readLine()!=null)System.out.println(str); PrintWriter println() public static void main(String args) throws Exception OutputStream os = new FileOutputStream(oracle.txt, true);OutputStreamWriter ow = new OutputStr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术体操鞋行业深度研究报告
- 2026年药用辅料市场需求分析
- 2026年验光眼镜设备市场需求分析
- 设计金属构件行业深度研究报告
- 双环扣行业深度研究报告
- 甲卷语文真题断句及答案
- 隧道结构设计与施工方法方案
- 年产600万件汽车零部件及50万件发动机运输支架项目环境影响报告表
- 风电场电气系统优化设计方案
- 天然气管网工程施工进度控制方案
- ETX12.0.4安装配置手册
- 集束化护理压力性损伤
- 校园餐资金管理制度
- 体育教育专业职业生涯规划书4900字数
- 儿童榫卯知识课件
- 外国新闻传播史
- 小学二年级家长课堂课件
- 心包炎护理查房
- 共同使用井水协议书
- 讲解员培训方案
- GB/T 10485-2025道路车辆外部照明和光信号装置环境耐久性
评论
0/150
提交评论