您的位置:

Java文件读取

一、引言

Java语言是广泛应用的一种面向对象编程语言,它拥有众多强大的功能和类库,其中包括文件输入输出流,可以轻松地对文件进行读取、写入、复制等操作。本文将介绍如何使用Java读取文件的方法和步骤,并附上详细的代码示例。

二、Java文件读取方法详解

1. 读取文本文件

Java中可以使用FileReader或BufferedReader实现对文本文件的读取。

使用FileReader

try{
    File file = new File("test.txt");
    FileReader reader = new FileReader(file);
    int ch;
    while((ch=reader.read())!=-1){
        System.out.print((char)ch);
    }
    reader.close();
}catch(IOException e){
    e.printStackTrace();
}

上述代码中,先定义一个File类型的变量来存放读取的文件,在创建FileReader时,将文件作为参数传入构造函数即可。然后使用while循环读取文件,直到读取结束为止,并关闭读取流。

使用BufferedReader

try{
    File file = new File("test.txt");
    BufferedReader reader = new BufferedReader(new FileReader(file));
    String line;
    while((line=reader.readLine())!=null){
        System.out.println(line);
    }
    reader.close();
}catch(IOException e){
    e.printStackTrace();
}

使用BufferedReader的方法与FileReader类似,不同的是BufferedReader使用readLine方法来读取文件,每次读取一行,并返回一个字符串。同样地,读取结束后需关闭流。

2. 读取二进制文件

Java中可以通过FileInputStream类和DataInputStream类实现对二进制文件的读取。

使用FileInputStream

try{
    File file = new File("test.bin");
    FileInputStream fis = new FileInputStream(file);
    byte[] bytes = new byte[(int) file.length()];
    fis.read(bytes);
    for (byte b : bytes) {
        System.out.print((char)b);
    }
    fis.close();
}catch(IOException e){
    e.printStackTrace();
}

上文代码中,首先创建一个File类型的变量来存放读取的文件,然后创建一个FileInputStream对象,将文件作为参数传入构造函数即可。接着创建一个字节数组来存放读取的数据,并使用read方法将数据读入字节数组中,最后循环遍历字节数组并输出内容。最后需要关闭流。

使用DataInputStream

try{
    File file = new File("test.bin");
    FileInputStream fis = new FileInputStream(file);
    DataInputStream dis = new DataInputStream(fis);
    int size = dis.readInt();
    byte[] bytes = new byte[size];
    dis.readFully(bytes);
    for (byte b : bytes) {
        System.out.print((char)b);
    }
    dis.close();
}catch(IOException e){
    e.printStackTrace();
}

使用DataInputStream的读取方法与FileInputStream类似,不同的是使用readInt方法读取数据的长度,再使用readFully方法将数据读入字节数组中。最后还需关闭流。

三、小结

Java文件读取是Java编程中非常重要的一个环节,同时,也是连接Java与外部环境的关键方法之一。通过本文的介绍,读者可以轻松掌握Java文件读取的基本概念和使用技巧,可以自如地在Java编程中运用此技术。