Java实用教程笔记 输入、输出流

Java实用教程笔记 输入、输出流,第1张

Java实用教程笔记 输入、输出流

输入、输出流
  • 期末考试会从10.1考到10.5
  • 源&目的地
  • 10.1File类
    • 创建一个File对象的构造方法
    • 文件属性
    • 目录
      • 创建目录
      • 列出目录中的文件
        • FilenameFilter接口
        • 辨析
    • 文件的创建与删除
    • 运行可执行文件
  • 10.2文件字节输出流FileInputStream
    • 四步骤
    • 构造方法
    • byte Java相对C++独有的数据类型
    • 使用输入流读取字节
    • 关闭流
    • 覆盖式vs追加式
    • 具体构造函数详看help文档
    • 示例
  • 10.3文件字节输出流FileOutputStream
  • 10.4文件字符输入流、输出流FileReader&FileWriter
    • out.flush();
  • 10.5缓冲流Buffered Stream
  • 10.6随机流
  • 10.7 数组流ByteArrayInputStream
  • 10.8 数据流
  • 10.9 对象流
  • 10.10 序列化与对象克隆
  • 10.11 使用扫描器解析文件
  • 10.12 文件对话框
  • 10.13 带进度条的输入流
  • 10.14 文件锁
  • 10.15 IDE
  • References
  • Edition 2021/12/15

期末考试会从10.1考到10.5 源&目的地

输入流的指向称作源,输出流的指向称作目的地。

10.1File类

File类的对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度或文件的读写权限等,不涉及对文件的读写 *** 作。

创建一个File对象的构造方法

File(String filename);
File(String directoryPath,String filename);
File(File dir,String filename);

文件属性

public String getName()获取文件的名字
public boolean canRead()判断文件是否可读
public boolean canWrite()判断文件是否可被写入
public boolean exists()
public long length()
public String getAbsolutePath()
public String getParent()获取文件的父目录
public Boolean isFile()判断文件是否是一个普通文件,而不是目录。
public boolean isDirectory()
public boolean isHidden()
public long lastModified()获取文件最后修改的时间

目录 创建目录

public boolean mkdir()

列出目录中的文件

public String[] list()返回文件名(字符串形式
public File[]listFiles()用File对象形式返回目录下指定类型的全部文件
public String[] list(FilenameFilter obj)
public File [] listFiles(FilenameFilter obj)

FilenameFilter接口

public boolean accept(File dir,String name);

辨析

"."当前目录
"…"上一级目录

文件的创建与删除

File file=new File(“C:myletter”,“letter.txt”);
public boolean createNewFile();
file.delete();

运行可执行文件

Runtime ec;
ec=Runtime.getRuntime();//创建一个进程

10.2文件字节输出流FileInputStream 四步骤

源->创建输入流->读取->关闭输入流
油井————文件类Flie
运输管道/卡车
在管道和石油库(油井)之间的提取器
————输入输出流FileInputStream&FileOutputStream

构造方法

FileInputSteam(String name);其实有你看不见的文件列表
FileInputStream(File file);

byte Java相对C++独有的数据类型 使用输入流读取字节

int read()
int read(byte)
int read(byte b[ ],int off,int len)off偏移量

关闭流

close()

覆盖式vs追加式

覆盖式 清空
追加式 在文件尾写
类比C语言w/a

具体构造函数详看help文档 示例
import java.io.*;
public class Solution{
public static void main(String arg[]){
 int n=1;
 byte[] a=new byte[100];
 try{
 File f=new File("Solution.java");//建立输入流
 InputStream in= new FileInputStream(f);//in对象文件与输入流关联
 while(n=in.read(a,0,100))!=-1{
 String s=new String(a,0,n);//利用循环读取
 }
 in.close();//关闭输入流
 catch(IOException e){
 System.out.println("File read Error"+e);
 }
 }
 }

import java.io.*;
public class Solution{
public static void main(String arg[]){
int n=1;
byte[] a=new byte[100];
try{
File f=new File(“Solution.java”);//建立输入流
InputStream in= new FileInputStream(f);//in对象文件与输入流关联
while(n=in.read(a,0,100))!=-1{
String s=new String(a,0,n);//利用循环读取
}
in.close();//关闭输入流
catch(IOException e){
System.out.println(“File read Error”+e);
}
}
}

10.3文件字节输出流FileOutputStream

FileOutputStream(String name);
FileOutputStream(File file);

10.4文件字符输入流、输出流FileReader&FileWriter out.flush();

强制刷新
数据在流中(内存中),还未保存到文件中,直接关闭可能会导致问价写入不完全。而flush这个 *** 作读文件时不用。
flush()强制把流中的数据输入到文件中,保证文件写入 *** 作绝对完成。

10.5缓冲流Buffered Stream

流中嵌套流,简化 *** 作
readline()
一个字节一个字节地读,直到换行为止
BufferedReader(Reader in);
BufferedWriter(Reader out);

10.6随机流 10.7 数组流ByteArrayInputStream

输入的数据为字节型
读取数据为一个字节一个字节地读

10.8 数据流 10.9 对象流

不会考,但以后实际运用中很重要

10.10 序列化与对象克隆 10.11 使用扫描器解析文件 10.12 文件对话框 10.13 带进度条的输入流 10.14 文件锁 10.15 IDE References Edition 2021/12/15

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存