摘要:本文主要讲解了JAVA语言中的AVA文件流,它是使用File类操作文件或目录属性,通过几个讲解的案例,我们可以大概了解文件流的分类,从中学到更多的相关知识,让我们在java语言的路途上越走越远。
文件流
使用File类操作文件或目录属性
创建一个File对象的语法格式:File f = new File("E://T56.txt");
f.exists() 判断这个文件是否存在 f.delete();删除这个文件 f.createNewFile();创建一个新的文件
f.isFile() 判断是否为文件 f.isDirectory() 判断是否为文件夹
f.getName() 文件名 f.getPath() 相对路径 f.getAbsolutePath() 绝对路径
***获得一个文件夹的所有下一层子文件
File[] files = f.listFiles();-》》此文件夹下的所有子文件
if (f.exists()) { if (f.isDirectory()) { for (File file : files) { System.out.println(file.getName()); if (file.getName().equals("小说")) { File[] fi = file.listFiles(); for (File file2 : fi) { System.out.println("小说的子代是"+file2.getName()); } } } } }
输入流:输入 eg:从文件中拿出内容
(站在代码的角度看世界)
输出流:输出 eg:将代码需要输出的内容放进文件中
字节流:1.字节输入流 2.字节输出流
概念:把文件里的内容拆分成计算机的基本组成单位:字节 来进行输入/输出
如果操作纯文本文档的时候 就会多此一举(因为纯文本文档没必要拆了 可以直接流了)
字符流:1.字符输入流 2.字符输出流
概念:只适合操作纯字符流 txt/Word 文字直接从流中原原本本的流出来
省略了拆分/组装的步骤 所以在操作纯文本文档的时候 速度比字节流快很多
不能拆:非文本
java操作文件流的步骤:创建-》执行-》关闭
(一)字节流 非英文会乱码
1.输入流:
FileInputStream fis = new FileInputStream("E://一起飞//123.txt");
int num=fis.read();-》》表示读取的内容 ASCALL码
while (num!=-1) {
System.out.println("读取到的内容是"+(char)num);
num=fis.read();
}
fis.close();
2.输出流: 如果文件不存在,会自动创建好,并往里面输出
FileOutputStream fos = new FileOutputStream("E://一起飞//123.txt"); String name="My name is huanganyuan"; fos.write(name.getBytes()); fos.close();
(二)字符流 所有字符
字符输入流-》》最终的父类肯定是Reader基类
字符输出流-》》最终的父类肯定是Writer基类
FileOutputStream-》》最终的父类是OutputStream基类
FileInputStream -》》最终的父类是InputStream基类
1.输入流
FileReader fr = new FileReader("E://一起飞//123.txt"); int num; try { num = fr.read(); while (num!=-1) { System.out.println("读取的内容是"+(char)num); num=fr.read(); fr.close(); } } catch (IOException e) { e.printStackTrace(); }
2.输出流
FileWriter fw = new FileWriter("E://一起飞//123.txt"); String name = "我们是T56"; fw.write(name); fw.close();
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号