1.文件常见方法
boolean flag=f.exists();         //文件是否存在
    flag=f.isFile();          //是否是文件
    flag=f.isDirectory();      //是否是目录
    str=f.getPath();        //获得文件的相对路径
    str=f.getAbsolutePath();   //获得文件的绝对路径
    str=f.getName();          //获得文件名
    flag=f.delete();         //删除文件
    flag=f.createNewFile();    //创建文件
    long=f.length(); //返回文件长度
  注意:File不能操作文件内容

   

public static void main(String[] args) {

  //File f=new File("文件路径")
  //"\\"表示转义\
   //"/"表示/
    File f=new File("e:/a.txt");
    System.out.println(f);
  
  //文件是否存在
  boolean flag=f.exists();
  System.out.println(flag);
  
  //是否是文件
   flag=f.isFile();
   System.out.println(flag);
  
   //是否是目录
   flag=f.isDirectory();
   System.out.println(flag);

  //获取文件相对路径
    String path=f.getPath();
      System.out.println(path);
 
   //获取文件的绝对路径
     path=f.getAbsolutePath();
     System.out.println(path);

  //获取名字
     String name=f.getName();
     System.out.println(name);
  
     //删除文件或者目录
     flag=f.delete();
     System.out.println(flag);

//创建(检查异常)
    try {
      flag=f.createNewFile();
     System.out.println(flag);
    } catch (IOException e) {
     e.printStackTrace();
   }

   //长度
    System.out.println(f.length());
}

 

2.InputStream/OutputStream
  文件:FileInputStream/FileOutputStream
  2.1 FileInputStream(输入流)
    数据从文件到java代码中。
    int read(); //读取一个字节
    int read(byte[]); //读取一串字节
    long avaliable; //文件长度
  2.2 FileInputStream(字节文件输入流)
    new FileInputStream(File);
    new FileInputStream("文件路径+文件名");

   

public static void main(String[] args) {
//文件内容
File f=new File("src/a.txt");
try {
//英文和中午翻译
//码表
InputStream is=new FileInputStream(f);
int b=is.read(); //1:1的unicode编码
System.out.println((char)b);
b=is.read();
System.out.println((char)b);
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

 

  2.3 FileOutputStream(输出流)
    数据从java代码中,写到文件或者其他介质中。
    void write(字节); //写入一个字节
    void write(byte[]); //写入字节数组
  2.4 FileOutputStream
    new FileOutputStream(File);
    new FileOutputStream("文件路径+文件名");
    new FileOutputStream("文件路径+文件名",true);
  注意:a.boolean:表示是否向文件末尾追加,如果是true,表示追加,false表示不追加(也就是覆盖),默认值为false
     b.创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件。

   

public static void main(String[] args) throws Exception{
File f=new File("src/a.txt");
OutputStream os=new FileOutputStream(f);
os.write(97);
os.close();
}

 

3.Reader/Writer(字符流)

  3.1 FileReader

    int b=fr.read(); //读取一个字符
    int length=fr.read(char[]); //读取字符数组
  3.2 FileWriter
    fw.write(char); //写一个字符
    fw.write(char[]); //写字符数组
  3.3BufferedReader(字符输入缓冲流)
    BufferedReader br=new BufferedReader(new FileReader("文件路径"));
    String str=br.readLine(); //读取一行字符
  3.4BufferedWriter(字符输出缓冲流)
    BufferedWriter bw=new BufferedWriter(new FileWriter("文件路径"));
    bw.write(字符串);

  注意:a.能够用文本编辑器打开的文件,不乱码就是字符文件
     b.能够用文本编辑器打开乱码的,就是字节文件

public class TestChar {
public static void main(String[] args) throws Exception {
// read();
write();
}

/**
* 字符输出流Writer
* @throws IOException
*/
private static void write() throws IOException {
Writer w=new FileWriter("src/a.txt");
char[] cs={'钓','鱼','岛','是','中','国','的'};
w.write(cs);
w.close();
}

/**
* 字符输入流Reader
* @throws Exception
*/
private static void read() throws Exception{
Reader r=new FileReader("src/d.txt");
// int b=r.read();
// System.out.println((char)b);

char[] chars=new char[1024];
int length=r.read(chars);
System.out.println(Arrays.toString(chars));
}
}

 

public class TestBuffer {
public static void main(String[] args) throws Exception {
buReader();
buWriter();

}

private static void buWriter() throws Exception {
BufferedWriter bw=new BufferedWriter(new FileWriter("src/a.txt"));
bw.write("我是中国人");
//刷新缓存
bw.flush();
//默认执行flush(),关闭管道
bw.close();
}

private static void buReader() throws Exception {
BufferedReader br=new BufferedReader(new FileReader("src/d.txt"));
//读取一行记录
// String str=br.readLine();
// str=br.readLine();
// System.out.println(str);

String str;
while((str=br.readLine())!=null){
System.out.println(str);
}
}

}

 

I/O的方法、输入流和输出流的更多相关文章

  1. java中的IO流(输入流与输出流)概述与总结

    Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...

  2. C++输入流和输出流、缓冲区

    一.C++输入流和输出流 输入和输出的概念是相对程序而言的. 键盘输入数据到程序叫标准输入,程序数据输出到显示器叫标准输出,标准输入和标准输出统称为标准I/O,文件的输入和输出叫文件I/O. cout ...

  3. 牛客网Java刷题知识点之输入流、输出流、字节流、字符流、字节流的抽象基类(InputStream、OutputStream)、字符流的抽象基类(Reader、Writer)、FileWriter、FileReader

    不多说,直接上干货! IO流用来处理设备之间的数据传输. java对数据的操作是通过流的方式. java用于操作流的对象都在IO包中. IO流按操作数据分为两种:字节流和字符流. IO流按流向分为:输 ...

  4. [Java开发之路](8)输入流和输出流

    1. Java流的分类 按流向分: 输入流: 能够从当中读入一个字节序列的对象称作输入流. 输出流: 能够向当中写入一个字节序列的对象称作输出流. 这些字节序列的来源地和目的地能够是文件,并且通常都是 ...

  5. Java的IO流以及输入流与输出流的异同

    一:流的基本概念:           Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.J ...

  6. Java:字节流和字符流(输入流和输出流)

    本文内容: 什么是流 字节流 字符流 首发日期:2018-07-24 什么是流 流是个抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道. 输入流是相对程序而言 ...

  7. 转载:Java:字节流和字符流(输入流和输出流)

    本文内容: 什么是流 字节流 字符流 首发日期:2018-07-24 什么是流 流是个抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道. 输入流是相对程序而言 ...

  8. java基础49 IO流技术(对象输入流/对象输出流)

    1.对象输入输出流 对象注意作用是用于写对象信息与读取对象信息 1.对象输出流:ObjectOutputStream    2.对象输入流:ObjectInputStream 2.对象输入输出流的步骤 ...

  9. Java基础:浅谈数据输入流/数据输出流《DataInputstream类与DataOutputstream类》

     一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个 ...

随机推荐

  1. oradebug工具使用(转载)

    在之前的HangAnalyze 中有使用oradebug命令,在这篇文章里,我们主要是重点看一下这个oradebug命令: Oracle HANGANALYZE 功能诊断 DB hanging htt ...

  2. java多线程总结(一)

    在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: 1 2 3 4 5 6 7 8 9 10 11 ...

  3. Angular 学习笔记 :初识 $digest , $watch , $apply,浅析用法 。

    传统的浏览器事件循环 :浏览器本身一直在等待事件,并作出响应.如果你点击一个button或者在input 中输入字符,我们在 JS 中 监听这些事件并设定了回调函数,那么这些事件被触发以后,回调函数就 ...

  4. image_Magic

    http://www.charry.org/docs/linux/ImageMagick/ImageMagick.html mogrify -sample 25% *.jpg  批量处理图片 conv ...

  5. Uber中国在地方城市的人员架构是怎样的?

    http://www.thepaper.cn/newsDetail_forward_1390516 澎湃新闻:Uber中国在地方城市的人员架构是怎样的?   柳甄:一般是3人组成的小团队作战.一名城市 ...

  6. [转]毕设- 深入HBase架构解析(二)

    深入HBase架构解析(二) 前言 这是<深入HBase架构解析(一)>的续,不多废话,继续.... HBase读的实现 通过前文的描述,我们知道在HBase写时,相同Cell(RowKe ...

  7. git常用命令【转】

    先上一个git常用命令图片 Git配置 1 2 3 4 5 6 7 8 9 git config --global user.name "robbin"   git config ...

  8. SVN使用—工作模式及运行原理以及优缺点对比

    一.SVN原理 (1)运行方式 svn服务器有2种运行方式:独立服务器和借助apache运行. 1.独立服务器访问 访问地址如:svn://svn.test.com/test 2.借助Apache等h ...

  9. Python3.x:pdf2htmlEX(解析pdf)安装和使用

    Python3.x:pdf2htmlEX(解析pdf)安装和使用 简介 pdf2htmlEX是一款优秀的pdf转换成html的工具: 下载 windows下载地址:http://soft.rubypd ...

  10. [BZOJ1257]余数之和

    Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数. 例如j(5 ...