JavaRush /Java Blog /Random-JA /コーヒーブレイク#99。Java でファイルをあるディレクトリから別のディレクトリにコピーする方法。Javaの文字...

コーヒーブレイク#99。Java でファイルをあるディレクトリから別のディレクトリにコピーする方法。Javaの文字列

Random-JA グループに公開済み

Java でファイルをあるディレクトリから別のディレクトリにコピーする方法

出典: DZone 私は長い間 Java でプログラミングをしてきましたが、信じられないかもしれませんが、Java 7 より前には、Java API にファイルをコピーする方法はありませんでした。唯一の選択肢は、FileInputStream、FileOutputStream、およびバイト間でバイトをコピーするバッファを使用して、自分で記述することでした。あるいは、FileChannel.transferTo()メソッドまたは Apache Commons FileUtils を使用するとよいでしょう。これらは当時の救世主であり、現在も存在しています。 コーヒーブレイク#99。 Java でファイルをあるディレクトリから別のディレクトリにコピーする方法。 Java の文字列 - 1JDK は現在進化しており、あるディレクトリから別のディレクトリにファイルをコピーするための適切な API がすでに存在しています。この記事では、Java 7 より前に、あるディレクトリから別のディレクトリにファイルをコピーする方法と、このタスクをはるかに簡単にする最新の方法を紹介します。

1. Java 7 より前に、あるディレクトリから別のディレクトリにファイルをコピーする

依存関係: Apache Commons IO

1.1 FileUtils.copyFile(ファイルソース、ファイル宛先) このメソッドは、ファイルのタイムスタンプを維持しながら、ファイルを新しい場所にコピーします。また、指定されたソース ファイルの内容が指定された宛先ファイルにコピーされます。ターゲット ファイルを含むディレクトリが存在しない場合は、作成されます。ターゲット ファイルが存在する場合、このメソッドはそれを上書きします。
import java.io.File;

import java.io.IOException;



import org.apache.commons.io.FileUtils;



/**

* Java program to copy a file from one directory to another e.g. from src to dest

*

* @author Javin

*/

public class FileCopyDemo {



public static void main(String args[]) {



// Using Apache Commons FileUtils class

File srcFile = new File("bin/HelloWorld.class");

File destFile = new File("target/HelloWorld.class");

try {

FileUtils.copyFile(srcFile, destFile);

System.out.println("File successfully copied in Java");

} catch (IOException e) {

e.printStackTrace();

}



}



}

Output:

System.out.println("File successfully copied in Java");
1.2 タイムスタンプを維持したままファイルをディレクトリにコピーするこのメソッドは、指定されたソース ファイルの内容を、指定されたターゲット ディレクトリ内の同じ名前のファイルにコピーします。ターゲット ディレクトリが存在しない場合は作成されます。対象ファイルが存在する場合、このメソッドはそれを上書きします。
import java.io.File;

import java.io.IOException;



import org.apache.commons.io.FileUtils;



/**

* Java program to copy a file from one directory to another like from src to dest

*

* @author Javin Paul

*/

public class Testing {



public static void main(String args[]) {



// Using Apache Commons FileUtils class

File srcFile = new File("bin/HelloWorld.class");

File destDir = new File("target");

try {

FileUtils.copyFileToDirectory(srcFile, destDir);



System.out.println("File successfully copied to destination directory in Java");

} catch (IOException e) {

e.printStackTrace();

}



}



}



Output

File successfully copied to destination directory in Java

2. Java 7 NIO 2 API を使用して、あるディレクトリから別のディレクトリにファイルをコピーします。

Java 7 には、ファイルをコピーするための標準メソッドFiles.copyがあります。ネイティブ I/O O/S と統合して、高いパフォーマンスを提供します。
import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;



import static java.nio.file.StandardCopyOption.*;

import static java.nio.file.LinkOption.*;



/**

* Java program to copy file using Java 7 Files.copy() method

*

* @author Javin Paul

*/

public class FileCopyDemo {



public static void main(String args[]) {



try {

Path bytes = Files.copy(

new Java.io.File("bin/HelloWorld.class").toPath(),

new java.io.File("target/HelloWorld.class").toPath(),

REPLACE_EXISTING,

COPY_ATTRIBUTES,

NOFOLLOW_LINKS);

System.out.println("File successfully copied using Java 7 way");



} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}



}



}
FileInputStreamFileOuputStream を使用してコードを記述して Java でファイルをコピーすることもできますが、Java 7 がインストールされている場合は必要ありません。Apache Commons IO FileUtils クラスも便利な代替手段です。高速ファイルのコピーと転送には、java.nio クラスとFileChannelクラスを利用することもできますが、Windows には 64 GB を超えるチャネル データを転送できないバグがあることに注意してください。

Javaの文字列

出典: Dev.to 他のプログラミング言語と同様、 Java のStringは一連の文字です。ただし、Java は文字列を文字の配列として実装せず、完全なStringオブジェクトとして扱います。 コーヒーブレイク#99。 Java でファイルをあるディレクトリから別のディレクトリにコピーする方法。 Java の文字列 - 2

new キーワードとリテラルを使用して文字列オブジェクトを作成する方法

文字列オブジェクトを作成するには、new キーワードを使用する方法とリテラルを使用する方法の 2 つがあります。リテラル表現とは、その値を整数または文字列として表現することを意味します。以下のコードは、new キーワードを使用して文字列を作成する方法を示しています。
String a = new String();
ご存知のとおり、new キーワードはこのクラスのインスタンスを作成するために使用されます。上記では、文字を含まない「a」タイプの文字列のインスタンスを作成しました。値を含む文字列を作成するには、次のようにします。
char name[] = {'x','y','z'}
String a = new String(chars);
上記では、値「x」、「y」、「z」を含む 文字配列name[ ]を作成し、この完全な配列を文字列「a」に割り当てました。Stringクラスのコンストラクターを使用して文字列の値を初期化しました。上で見たように、 new キーワードを使用して文字列を作成するのは少し混乱し、時間がかかります。しかし、本当に簡単な方法があり、ここでリテラルが役に立ちます。
String s = "xyz";
これは、リテラルを使用して Java で文字列を作成する方法です。プログラム内のすべての文字列リテラルに対して、Java は初期値が指定された String オブジェクトを自動的に作成します。プログラム内の任意の場所で文字列リテラルを使用して、そこから文字列オブジェクトを作成できます。

文字列の例

以下は、数行の単純な Hello world プログラムのコードです。
public class HelloWorld {
    public static void main(String args[]) {

        String s1 = new String("Hello World using new keyword"); // Using new keyword
        String s2 = "Hello World using literals";

        System.out.println(s1);
        System.out.println(s2);
}
}
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION