第十四周总结 Io之文件流

 I/O相关    输入/输出   流(数据流动)
 数据流动的方向  读数据(输入input)  写数据(输出output)
 文件流   字符流  数据流  对象流  网络流....

 1.什么叫文件
              一种电脑的存储方式
              文件有不同的格式   .txt .doc  .ppt  .mp4  .jpg  .rar ...
              文件夹?---目录路径
              File是一个类
              File----->与电脑上的文件或文件夹产生一 一对应的的映射关系
              1.java.io包中
              2.文件或目录路径名的抽象表示形式
              3.File与真实硬盘中的文件和文件夹 不是一个东西
                File是在内存的一个对象<---映射--->硬盘上的文件或文件夹
              4.File类中的常用方法
                 canRead()   canWrite()  isHidden()  isFile()  isDirectory
                 length()获取文件中字节的个数
                 lastModified()获取文件最后的修改时间---->毫秒值
                 *String path = getAbsolutePath()  获取文件的绝对路径  D://test//Test.txt
                          绝对路径<-->相对路径
                          绝对路径可以通过完整的字符串 定位盘符 文件夹 文件
                          相对路径没有盘符的写法      当前工程()所在的位置去找寻
                 *String name = getName()获取文件的名字  Test.txt
                 *boolean = createNewFile()        创建新的文件
                 *boolean = mkdir                  创建新的文件     外层没有  不能创建
                 *boolean = mkdirs                 创建新的文件夹   外层没有  可以自动创建
                 *String pname = getParent()       获取当前file的父亲file名字
                 *File file = getParentFile()      获取当前file的父亲file对象
                 String[] names = list()           获取当前file的所有儿子名字
                 *File[] files = listFile()        获取当前file的所有儿子对象
                 *boolean = delete()               删除文件或空的文件夹 不能删除带元素的文件夹
 2.什么叫文件流  做什么
          读取文件中的内容              向文件写内容
          文件输出流                   文件输出流
          字节型文件输入流              字节型文件输出流
          字符型文件输入流              字符型文件输出流  


File类的对象<----->本地硬盘文件
查看属性
创建新的文件 新的文件夹
查看父元素目录
文件夹的遍历 删除
file对象不能操作文件中的内容------>通过流I/o的方式来完成
---------------------------------------------------------------------------------------------
流按照方向(功能)来区分
in(读取) out(写入)
操作的目标来区分
文件流 数组流 字符串流 数据流 对象流 网络流。。。。
学习文件流---->
顾名思义 读取文件中的信息in 将信息写入文件中out
文件流按照读取或写入的单位(字节数)大小来区分

                 字节型文件流(1字节)
                           FileInputStream/FileOutputStream
                 字符型文件流(2字节--1字符)
                                FileReader/FileWriter
          容器
          1.变量  只能存一份
          2.数组  存储好多个  数据类型统一
          3.集合  存储好多个  存储后个数还能会改变   泛型---数据类型统一
          如上三个都是Java中的类型(对象-->内存)
          都存储在内存中  程序执行完毕  虚拟机停止的时候  内存空间就回收啦
          数据都是临时性存储的

          4.文件    存储好多信息
          文件是存储在硬盘上的--->永久性保存
          数据虽然是安全了
          文件毕竟不在内存了 需要通过io操作文件               JDBC

          字节型文件输入流
                   FileInputStream
                   1.包  java.io
                   2.了解一下继承关系  InputStream类 字节型输入流的父类
                   3.创建对象
                            调用一个带File类型的构造方法
                            调用一个带String类型的构造方法
                   4.常用方法
                            int code = read();      每次从流管到中读取一个字节  返回字节的code码
                            *int count = read(byte[]) 每次从流管道中读取若干个字节 存入数组
                            int count = availble();    返回流管道中还有多少缓冲的字节数
                            *skip(long n) 跳过几个字节 读取
                                     多线程----> 利用几个线程同时读取文件
                                     10000字节        5个小人同时读取
                                     1-2000  2001-4000  4001-6000  6001-8000  8001-10000
                            *close()  将流管道关闭--必须要做最好放在finally里 注意代码健壮性   判断严谨
          字符型文件输出流
                    FileOutputStream 将数据写入文件中
                    1.java.io
                    2.继承OutputStream  所有字节型输出流的父类
                    3.创建对象
                               调用一个带File参数    还有File boolean重载
                               调用一个带String参数  还有String boolean重载
                    4.常用方法
                               write(int code);  将给定code对应的字符写入文件 '='
                               write(byte[])     将数组中的全部字节写入文件  getByte()
                               flush();          将管道内的字节推入(刷新)文件
                               close();          注意在finally中关闭

原文地址:https://www.cnblogs.com/shsy/p/12034495.html

时间: 2024-08-03 17:09:58

第十四周总结 Io之文件流的相关文章

第十四周(小玩文件)

*/ copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:第十四周(小玩文件) *作者:王忠 *完成日期:2015.6.09 版本号:v1.0 * *问题描述:下面程序的功能是将文本文件abc.txt中的所有行加上行号后写到newabc.txt文件中,请填空将程序补充完整. *输入描述: *程序输出: #include <iostream> #include <cstdlib> #include <fstream&g

第二十四节(Java文件流,缓冲流)

Java流 文件通常是由一连串的字节或字符构成,组成文件的字节序列称为字节流,组成文件的字符序列称为字符流. Java 中根据流的方向可 以分为输入流和输出流. 输入流是将文件或其它输入设备的数据加载到内存的过程: 输出流恰恰相反, 是将内存中的数据保存到文件或其他输出设备. 见图: 文件是由字符或字节构成, 那么将文件加载到内存或再将文件输出到文件, 需要有输入和输出流的支持,那么在 Java 语言中又把输入和输出流分为了两个,字节输入和输出流,字符输入和输出流 InputStream 是字节

第十四周项目1-小玩文件

(1)下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整. #include <iostream> #include <cstdlib> #include <fstream> // (1) using namespace std; int main() { fstream file; file.open("abc.txt", ios::in); // (2) if(!file) { cout<<"abc

第十四周 【项目2-用文件保存的学生名单】若干名学生的学号 姓名和C++课、高数和英语成绩

运行代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /* *[项目2-用文件保存的学生名单] * 文件score.dat中保存的是若干名学生的学号 姓名和C++课.高数和英语成绩. */ #include <fstream> #include<iostream> #include<string&g

第十四周 *【项目2-用文件保存的学生名单】

/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /* *[项目2-用文件保存的学生名单] * 文件score.dat中保存的是若干名学生的姓名和C++课.高数和英语成绩. */ #include <fstream> #include<iostream> #include<string> #inclu

文件流(二)

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO; namespace 文件流{public partial class Form1 : Form { public

第十四周阅读程序1:文件流

问题及代码: #include <iostream> #include <fstream> using namespace std; int main() { fstream outfile,infile; //定义文件流对象 outfile.open("data.dat",ios::out); //以输出方式打开文件 data,dat outfile<<"1111111111"<<endl; //将字符串存入磁盘文件

第十四周阅读程序2:运用文件流进行文件的复制

问题及代码: #include <iostream> #include <fstream> using namespace std; int main() { ifstream readFile; //定义文件流类 ofstream writeFile; char ch; readFile.open("a.txt", ios::in); //以输入方式打开文件 a.txt writeFile.open("b.txt", ios::out);

第十四周阅读程序3:文件流的getline与write

问题及代码: #include <iostream> //定义头文件 #include <fstream> #include<cstring> using namespace std; int main() { ifstream readFile; //定义文件流对象 ofstream writeFile; char ch[100]; readFile.open("a.txt", ios::in); //以输入方式打开a.txt writeFile.