質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

2回答

1484閲覧

システム時刻名ファイルなければエラー

snakeriver

総合スコア76

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2016/03/08 13:30

編集2022/01/12 10:55

指定したファイルディレクトリにある年月日時分秒が記載されたファイルに、
ソースを実行した際のOSシステム時刻が一致するファイル名がなければエラーにするソースを作っています。ファイルの形式が一致するファイルがそもそもファイルディレクトリに存在するのか
というところまではできたのですが、システム時刻時のファイルが存在するかしないかが出来ていません。
環境: windows7、8
java: 7
ファイル名: FS_20160308_100000.mp3

考え方として、どう作ればいいのでしょうか。
現在はファイルをfor分で回してまず文字数がファイル名としてオーバーしていないか判定をし、
checkメソッドでファイルの型がパターンとして合っているか判定し、
そこでカレンダーの時刻を取得し、年月日時間までファイル名と同じであるか、同じでなければエラー
と以下のようにしようと思うのですが、
一旦Listを作ってaddし、ソートして、あるかどうかcontain?を使った方がいいのでしょうか。

public static void main((String args[]){
//
Pattern p = Pattern.compile("^FS_\d{8}_\d{6}.mp3$");
for(//ファイルを回す){
if(/ファイルの長さ判定){
//ファイル名の型判定のメソッド
check();
}
}
private static void check(Pattern p, String target){
Matcher m = p.matcher(target);
//ファイル名の型と合っていれば
if(m.find()){
String name = files[i].getName();
//ここでシステム時刻を取得し、ファイル名と一致するか判定をすればいいでしょうか。
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

まずシステム時刻をもとにファイル名を生成し、その名前のファイルの存在チェックをしたのではダメなのですか。

投稿2016/03/08 13:49

unau

総合スコア2468

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

snakeriver

2016/03/08 14:14

確かに、考え方はとしてはそうですね。
nob.

2016/03/09 02:00

私もこの回答と同じことを考えました。 この回答で不十分なら質問を書き換えて下さい。 ひょっとして、質問にあるコードで日本語コメント部分(例えば ファイル名の型と合っていれば )の 書き方がわからないということでしょうか?
BlueMoon

2016/03/09 07:53

ご回答に有る通り、まずはシステム時刻をもとにファイル名(文字列)を生成するメソッドを作る所からかと思います。
guest

0

一度「正規表現」について調べてみては?可能性のある文字列を全て作成するよりも、対象となるパターンを作成してそのパターンに一致するかどうかを判定できるので便利です。

投稿2016/03/10 17:11

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問