栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java 输入输出

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 输入输出

File类
  1. public boolean canWrite() / canRead() 获取读写属性

  2. public boolean exists()  判断文件/目录是否存在

  3. public long length()  获取文件大小(字节)

  4. public boolean delete() 删除文件或目录,若删除目录,要求该目录必须为空

  5. public boolean createNewFile() 创建一个空文件,当且仅当该文件不存在

  6. public boolean isDirectory() / isFile() / isHidden() 判断文件是目录、文件、是否隐藏

  7. public long lastModified() / public boolean setLastModified(long time)  最后一次修改时间

  8. public String[] list() 得到当前目录下的所有文件名和目录名,若该File对象不是表示目录,则返回null

  9. public boolean mkdir()/mkdirs() 创建一个目录/创建多级目录

  10. public boolean renameTo(File dest) 文件/目录重命名,目标文件如果存在会失败,返回false

  11. public boolean setReadOnly() 设置只读属性

使用举例:
import java.io.*;
import java.text.*;
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
           File dir = new File("D:/dir1");
           if (!dir.exists()) {
                   dir.mkdir();
           }
           Scanner in = new Scanner(System.in);
           FileWriter file = new FileWriter("d:/dir1/1.txt");
           String s = in.next();
           file.write(s.toCharArray());
           file.close();
           File fr = new File("d:/dir1/1.txt");
           System.out.println("文件大小:" + fr.length());
           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");//时间设置
           String lastModified = sdf.format(new Date(fr.lastModified()));//文件最后使用时间
           System.out.println("最后修改时间:" + lastModified);
           fr.renameTo(new File("d:/dir1/2.txt"));
           new File("d:/dir1/2.txt").delete();
    }
}
输入输出流

概念:程序经常要完成输入和输出(I/O)操作,可以是键盘读入、工作台输出;也可以是文件的读写或者网络信息的发送和接收。输入和输出其实就是数据在程序和输入、输出源之间“流动”。

分类:

(1)按方向分为输入(外部->程序)流和输出(程序->外部)流

(2)按读取单位分为字节流和字符流

(3)按是否直接与数据源打交道分为节点流和处理流

(4)按功能分为文件流、缓冲流、打印流、字节字符转换、管道流、基本数据类型读写、对象串行化等

输入输出流程:

(1)输入流程:创建合适的输入流对象->调用流对象的读方法读取数据->关闭流

(2)输出流程:创建合适的输出流对象->调用流对象的写方法写数据->关闭流

例:

输入数据

import java.io.BufferedReader;
import java.io.InputStreamReader;
 
public class Test {
    public static void main(String[] args) throws Exception {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        String s=br.readLine();//读入一行数据
        System.out.println(s);
 
    }
}

读文件

//1.字节流

import java.io.FileInputStream;
public class Test {
    public static void main(String[] args) throws Exception {
        FileInputStream fis = new FileInputStream("f:/1.txt");
        while (true) {
            int a = fis.read();
            if (a == -1)
                break;
            else
                System.out.println(a);
        }
        fis.close();
    }
}




//2.字符流

import java.io.FileReader;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("f:/1.txt");
        while (true) {
            int a = fr.read();
            if (a == -1)
                break;
            else
                System.out.print((char) a);  //(char)a
        }
        fr.close();
    }
}


//3.读取到一个数组中,用字符流

import java.io.FileReader;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("f:/1.txt");
        char[] c = new char[100];
        while (true) {
            int a = fr.read(c);   // a:实际读入的字符个数
            if (a == -1)
                break;
            else
                System.out.print(new String(c, 0, a));   //String(c,0,a)
        }
        fr.close();
    }
}


//4.缓冲流

import java.io.BufferedReader;
import java.io.FileReader;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileReader fr = new FileReader("f:/1.txt");
        BufferedReader br = new BufferedReader(fr);
        while (true) {
            String s = br.readLine();    //readLine()
            if (s == null) {
                break;
            } else {
                System.out.println(s);
            }
        }
        br.close();
    }
}


//5.Scanner

import java.io.File;
import java.util.Scanner;
  
public class Test {
    public static void main(String[] args) throws Exception {
        Scanner sc=new Scanner(new File("f:/1.txt"));
        int a=sc.nextInt();
        int b=sc.nextInt();
        System.out.println(a+" "+b);
    }
}

写文件

//1.字节流

import java.io.FileOutputStream;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileOutputStream fos = new FileOutputStream("f:/1.txt");// 如果以追加方式写,加第二个参数true
        fos.write(65);
        fos.close();
    }
}



//2.字符流

import java.io.FileWriter;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileWriter fw = new FileWriter("f:/1.txt");
        fw.write('中文');
        fw.close();
 
    }
}



//3.以数组为单位写,这里为字符数组

import java.io.FileWriter;
 
public class Test {
    public static void main(String[] args) throws Exception {
        FileWriter fw = new FileWriter("f:/1.txt");
        String s = "Java数组";
        fw.write(s.toCharArray());  //或 直接以String为参数
        fw.close();
 
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号