###前提・実現したいこと
mainクラスから、ファイルの名前(ccc.txt)を指定して、相対パスを表示したいのですが、どんなファイル名(存在しないファイルだったとしても)を入力しても、必ず下記のメッセージ(ファイルの名前は入力した名前が表示されます)が表示されてしまいます。実際のccc.txtの場所は、C:\filelist\ccc.txtです。
下記コードにて、ccc.txtと入力。ccc.txtの場所はC:\filelist\ccc.txtなので、アウトプットでC:\filelist\ccc.txtと表示させたいのですが、C:\Users\Work\Lab3\ccc.txtとなってしまいます。現在のディレクトリから見た、ccc.txtの場所の表示もさせたいです。
###発生している問題・エラーメッセージ
ccc.txt C:\Users\Work\Lab3\ccc.txt (WorkはEclipseのworkspaceで、Lab3というのはプロジェクト名です。)
###該当のソースコード
java
1package fileOp; 2import java.io.*; 3 4public class Main { 5 public static void main(String[] args) throws IOException { 6 ShowDir d = new ShowDir(); 7 8 BufferedReader reader = new BufferedReader 9 (new InputStreamReader(System.in)); 10 String path = reader.readLine(); 11 d.path(path); 12} 13 14public class ShowDir { 15 public void path(String filename) throws IOException { 16 File file = new File(filename); 17 18 String str = file.getCanonicalPath(); 19 System.out.println(str); 20 21 if(file.exists()) { 22 System.out.println("Exists"); 23 } 24 else 25 System.out.println("No"); 26 } 27}
###試したこと
mainクラスから、標準入力でccc.txtと入力。
###補足情報(言語/FW/ツール等のバージョンなど)
Java。Eclipseを使っています。
回答2件
あなたの回答
tips
プレビュー