JavaのFileクラスを利用してファイルを移動する方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaのFileクラスを利用してファイルを移動する方法について解説しています。Filesクラスはファイルやフォルダに関する各種操作を行う際に使用されます。ここではmoveメソッドによるファイル移動の書き方を見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaのFileクラスを利用してファイルを移動する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
Fileクラスを利用してファイルを移動する方法について詳しく説明していくね!
お願いします!
目次
Fileクラスとは
まずは、ファイル操作の基本となるFileクラスについて説明します。Fileクラスというのは、Javaにおいてローカルディレクトリに存在するファイルやディレクトリについての多様な操作を実現するためのクラスです。
行なうことのできる操作としては、ファイルやディレクトリの作成・削除・編集、などなど数多くあり、それぞれについてメソッドが用意されています
基本的な考え方としては、1つのファイルもしくはディレクトリについて、1つのFileクラスを対応させて、メソッドを使うことにより操作を実現します。
Fileクラスの宣言を行なうときは、
File Fileオブジェクト = new File("ファイルのパス");
と記述します。
ファイルを移動する方法
Fileクラスを使ってファイルを移動するには、
- 移動したいファイルに対応したFileクラスを用意
- 移動先に対応したFileクラスを用意
- renameToメソッドを使ってファイルを移動
という手順を踏みます。
1と2の手順は、それぞれ、
File Fileオブジェクト1 = new File("移動したいファイルのパス");
File Fileオブジェクト2 = new File("移動先のパス");
とするだけでOKです。
3の手順ではrenameToメソッドを使いますが、このメソッドの記述方法は、移動したいFileオブジェクト.renameTo(移動先のFileオブジェクト); と記述します。
使い方はシンプルなので、扱いやすいのではないかと思います。
実際に書いてみよう
それでは、上で紹介した手順を踏んで、Fileクラスを使ったファイルの移動をしてみましょう。
今回は、“「sample1」ディレクトリの「sample.txt」というファイルを「sample2」ディレクトリに移動する” という処理を行なうプログラムを紹介します。
import java.io.File; public class FileTransfer{ public static void main(String[] args) { //移動したいFileオブジェクト File sample1 = new File("sample1/sample.txt"); //移動先のFileオブジェクト File sample2 = new File("sample2/sample.txt"); sample1.renameTo(sample2); } }
あらかじめ。
- sample1というディレクトリ
- その中にsample.txtというファイル
- sample2というディレクトリ
を用意しておいて、このコードを実行すると、ファイルが移動していることが確認できます。ディレクトリや、ファイルを変えて確認してみてください。
まとめ
この記事では、JavaのFileクラスを使ったローカルファイルの移動方法について説明しました。Javaプログラムでファイル操作が必要となったときには、ぜひ参考にしてみてください。
監修してくれたメンター
メンターSさん
システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。 JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。 TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。