ホームページ > Java > &#&チュートリアル > Java NIO 間接バッファを使用したファイルのコピー

Java NIO 間接バッファを使用したファイルのコピー

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-05-07 11:19:07
転載
1144 人が閲覧しました

JAVA NIO 間接バッファを介してファイルをコピーします

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

/**

 * 通过JAVA NIO 非直接缓冲区拷贝文件

 *

 * @param sourcePath 源文件路径

 * @param targetPath 目标文件路径

 */

public static void copyFileByChannel(String sourcePath, String targetPath) {

  FileChannel outChannel = null;

  FileChannel inChannel = null;

 

  FileInputStream fis = null;

  FileOutputStream fos = null;

 

  try {

    fis = new FileInputStream(sourcePath);

    fos = new FileOutputStream(targetPath);

 

    //获取通道

    inChannel = fis.getChannel();

    outChannel = fos.getChannel();

 

    //分配指定大小的缓冲区

    ByteBuffer buf = ByteBuffer.allocate(1024);

 

    while (inChannel.read(buf) != -1) {

      //转换为读取数据模式

      buf.flip();

      //写入到磁盘

      outChannel.write(buf);

      //清空缓冲区

      buf.clear();

    }

 

  } catch (Exception e) {

    e.printStackTrace();

  } finally {

    //关闭流

    try {

      if (outChannel != null) {

        outChannel.close();

      }

      if (inChannel != null) {

        inChannel.close();

      }

      if (fis != null) {

        fis.close();

      }

      if (fos != null) {

        fos.close();

      }

    } catch (IOException e) {

      e.printStackTrace();

    }

  }

}

ログイン後にコピー

以上がJava NIO 間接バッファを使用したファイルのコピーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
ヘルプ: JAVA 暗号化データ PHP 復号化
から 1970-01-01 08:00:00
0
0
0
JAVAをインストールする
から 1970-01-01 08:00:00
0
0
0
Javaをインストールできません
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート