Java基础——输入/输出(一)

概述



Java的IO通过java.io包下是类和接口来支持,在java.io包下主要包括输入,输出两种IO流,每种输入、输出流又可分为字节流和字符流两大类。其中字节流以字节为单位来处理输入、输出操作,而字符流以字符来处理来处理输入、输出操作。

一.File类



File类可以使用文件路径字符串来创建File实例,该文件字符串可以是绝对路径,也可以是相对路径。在默认情况下,系统总是依据用户的工作路径来解释相对路径,这个路径由系统属性“userdir”指定。

一旦创建了File对象后,就可以调用File对象的方法来访问,File类提供了很多方法来操作文件和目录,常见方法如下:

1. 创建:Boolean createNewFile(); //在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,如果文件已经存在,会覆盖。

    boolean mkdir(); //创建文件夹,只能创建一级文件夹

2. 删除:boolean delete(); //删除文件或目录。文件存在,返回true;文件不存在或者正在被执行,返回false。 

    void deleteOnExit(); //在程序退出时删除指定文件

3. 判断:boolean canExecute(); //是否是可执行文件

      boolean exists(); //文件是否存在

      boolean isFile(); //是否是文件

      boolean isDirectory();//是否是文件夹

      boolean isHidden(); //是否是隐藏文件

      boolean isAbsolute(); //文件是否是绝对路径

下面是一段代码,以简单的几个方法类测试File类的功能

import java.io.*;

public class FileTest
{
    public static void main(String[] args)
        throws IOException
    {
        // 以当前路径来创建一个File对象
        File file = new File(".");
        // 直接获取文件名,输出一点
        System.out.println(file.getName());
        // 获取相对路径的父路径可能出错,下面代码输出null
        System.out.println(file.getParent());
        // 获取绝对路径
        System.out.println(file.getAbsoluteFile());
        // 获取上一级路径
        System.out.println(file.getAbsoluteFile().getParent());
        // 在当前路径下创建一个临时文件
        File tmpFile = File.createTempFile("aaa", ".txt", file);
        // 指定当JVM退出时删除该文件
        tmpFile.deleteOnExit();
        // 以系统当前时间作为新文件名来创建新文件
        File newFile = new File(System.currentTimeMillis() + "");
        System.out.println("newFile对象是否存在:" + newFile.exists());
        // 以指定newFile对象来创建一个文件
        newFile.createNewFile();
        // 以newFile对象来创建一个目录,因为newFile已经存在,
        // 所以下面方法返回false,即无法创建该目录
        newFile.mkdir();
        // 使用list()方法来列出当前路径下的所有文件和路径
        String[] fileList = file.list();
        System.out.println("====当前路径下所有文件和路径如下====");
        for (String fileName : fileList)
        {
            System.out.println(fileName);
        }
        // listRoots()静态方法列出所有的磁盘根路径。
        File[] roots = File.listRoots();
        System.out.println("====系统所有根路径如下====");
        for (File root : roots)
        {
            System.out.println(root);
        }
    }
}

运行结果为:

.
null
D:\j2se1\testWorkspace\Test1234\.
D:\j2se1\testWorkspace\Test1234
newFile对象是否存在:false
====当前路径下所有文件和路径如下====
.classpath
.project
.settings
1427952328698
aaa2416973888792423250.txt
bin
src
====系统所有根路径如下====
C:D:E:F:G:\


Java基础——输入/输出(一)

时间: 2024-08-27 02:23:38

Java基础——输入/输出(一)的相关文章

Java基础——输入/输出(二)

一.字节流与字符流 1.1 InputStream和Reader InputStream是抽象类,本身并不能创建实例来执行输入,它里面包含如下几个方法: 1.Int read():从输入流中读取单个字节,返回所读取的字节数据. 2.int read(byte[] b):从输入流中最多读取b.length个字节的数据,并将其存储在字节数组b中,返回实际读取的字节数. 3.int read(byte[] b,int off,int len):从输入流中最多读取len个字节的数据,并将其存储在数组b中

Java的输入/输出操作

Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受计算机数据的设备叫做输入/输出(I/O)设备,例如磁盘.网络等. Java中主要按照一种方式进行数据交换——流(Stream)的方式.流方式就好比是建立在数据交换源与目的地之间的一条通信路径.但是数据在作为流在该路径中进行传输.数据流的走向是有方向的,相对于计算机而言,传向计算机的数据流叫做输入流(

java 的输入/输出

java 的输入/输出java的 I/O是通过java.io包下的类和接口支持,其中最重要的是5个类,分别是 File,OutputStream,InputStream, Write,Reader及一个接口Serializable.File类:可以对文件进行操作字节流:(OutputStream/InputStream),可以使用字节流读取文件内容字符流:(Writer/Reader)转换流:(InputStreamReader/OutputStreamWriter)将字节流转换为字符流缓冲流:

java基础-输入输出流-大文本文件读取及写入另一文本-----(此程序print部分有bug,输出不正常,原因琢磨不清了。。。)

简介:如题 import java.io.FileInputStream; import java.io.FileOutputStream; /** * @author czchina * */ public class TestStream { public static void main(String[] args) { FileInputStream fls = null; FileOutputStream fos =null; try{ fls = new FileInputStrea

Java——IO输入/输出

在学习输入/输出流的前提下先了解一下File类. 使用 File 类操作文件 import java.io.File; import java.io.IOException; public class FIleTest { public static void main(String[] args) { //创建File 类对象 File file = new File("files/file"); //创建文件夹,并且只能创建一级文件夹 //System.out.println(fi

JAVA基础-输入输出流

一,File类:文件的创建和删除 1.File(String pathname):pathname是指路径名称.用法 File file = new File("d:/1.txt "); 2.File(String parent, String child):parent是父路径字符串,child是子路径字符串.用法:File file = new File(" D:/", " letter.txt"); 3.File(File f, Strin

【黑马程序员】-Java基础学习-输出一个空心菱形

1 package test; 2 3 /** 4 * 内容是输出一个空心菱形 5 * @author 瞎猫碰到死老虎 6 * 7 */ 8 9 public class linXing { 10 11 public static void main(String[] args) { 12 int n=15; 13 lingxing(n); 14 15 } 16 17 //输出一个n行的菱形 18 public static void lingxing(int n){ 19 //先输出上半部分

04、Java基础语法(循环嵌套、break、continue、方法、方法的重载、数组动态初始化)

复习: 流程控制语句 - 顺序结构 - 分支结构 - if-else - switch - 循环结构 - for - while - do...while 1.循环嵌套 2.控制循环的语句 3.方法 4.方法的重载 5.数组的动态初始化 1.循环嵌套 ctrl + alt + L 格式化代码 "\n"换行符 "\t"制表符 九九乘法表 for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++)

【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder

输入与输出在Java里面相当基础,在Java各大书籍里面讲了又讲,但上面的概念往往讲得非常复杂,Java的老师强调学生必须透彻地弄得每一个类.每一个方法的意义,实际上,我们仅仅关注的是如何达到一个简单的输入输出效果.在网络上一个小小的Java输入输出包罗万象,主要是在JDK1.5推出了新型的Scanner输入,而以往的BufferedReader同样可以完成输入操作,也许多有经验的老手把自己使用惯的一套放上网络,根本不告诉别人怎么修改.下面举例子,彻底地说明白Java的输入输出,包括控制台,包括