




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医用药技能考试题及答案
- 安全月知识考试题及答案
- 2025洪水公务员面试题及答案
- 旅游商业地产商铺返租与全域旅游经营管理合同
- 股份代持与知识产权保护合同
- 企业员工集资共建职工餐厅协议
- 老师专业考试试题及答案
- 消防安全演习培训内容课件
- 2025至2030节能建材行业发展趋势分析与未来投资战略咨询研究报告
- 愚公移山翻译工作总结
- 高血压知识水平量表
- SY-T 5333-2023 钻井工程设计规范
- 中山红色文化
- 维保的可行性报告
- 海南省2023年中考历史试题(含答案)
- 车载测试行业分析
- 教学案例的撰写讲稿分析课件
- 定制手办目标市场调研
- 微商新手培训课件
- 美发与形象设计-高级美发全套教学课件
- 产品耐压、绝缘、接地测试报告
评论
0/150
提交评论