广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java通道如何读/写文件?_北大青鸟IT学校

作者:邓华发布时间:2021-04-13分类:Java技术浏览:843


导读:Java通道如何读/写文件?最近惠州北大青鸟很多学员都在问这个问题,那么下面惠州北大青鸟学术部老师给大家解答一下这个问题。

Java通道如何读/写文件?最近惠州北大青鸟很多学员都在问这个问题,那么下面惠州北大青鸟学术部老师给大家解答一下这个问题。

FileChannel对象维护位置变量作为缓冲区。

FileChannel的read()和write()方法有两种类型:相对位置读/写和绝对位置读/写。

当我们打开一个FileChannel时,它的位置设置为0,这是文件的开始。

当我们使用相对read()方法从FileChannel读取时,它的位置增加读取的字节数。

从FileChannel读取的绝对位置不会影响其位置。

我们可以使用position()方法获取FileChannel对象的当前位置值。

我们可以使用位置(int newPosition)方法将其位置设置为新位置。

通道也是可自动关闭的。如果我们使用try-with-resources语句来获取一个通道,那么通道将被自动关闭,这样就避免了我们明确地调用通道的close()方法。

以下代码从名为test1.txt的文件中读取文本。

import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public class Main {  public static void main(String[] args) {    File inputFile = new File("test1.txt");    if (!inputFile.exists()) {
     System.out.println("The input file " + inputFile.getAbsolutePath()
         + "  does  not  exist.");
     System.out.println("Aborted the   file reading process.");      return;
   }    try (FileChannel fileChannel = new FileInputStream(inputFile).getChannel()) {
     ByteBuffer buffer = ByteBuffer.allocate(1024);      while (fileChannel.read(buffer) > 0) {
       buffer.flip();        while (buffer.hasRemaining()) {          byte b = buffer.get();
         System.out.print((char) b);
       }
       buffer.clear();
     }
   } catch (IOException e) {
     e.printStackTrace();
   }
 }
}

上面的代码生成以下结果。

The input file E:\Java_Dev\WEB\release\java2sIDE\generated\a\test1/txt doc

Aborted the  file reading process.

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

Java16.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表