3

ファイルは aa.txt ディレクトリ/home/user にあり、私が書いたコードは

input=new FileInputStream("//home//user//aa.txt");

しかし、プログラムはファイルを開くことができません。Windowsで実行すると、fedoraのパスの形式がプログラムによって正しく読み取られるように機能しますか???

4

2 に答える 2

1

はエスケープ文字として使用されるため\(たとえば\n、=改行および\t=タブ)、この文字を文字列に配置するときに\\単一を意味するように記述する必要があります。\

この問題はスラッシュでは発生しません/ 。Linuxディレクトリの場合、スラッシュ/が使用されます。Windowsは円記号を使用します。OSに依存しないコードを書くのは苦痛かもしれませんが、それは問題ではありません。ファイルを処理するときにスラッシュを使用するだけで、Javaが自動的にそれを正しいOS固有の形式に変換します。

たとえば、WindowsにC:/Users/Owner/Documentsなります。C:\Users\Owner\Documentsまたは、書くこともできます"C:\\Users\\Owner\\Documents"が、単純なスラッシュ形式の方が単純に見えます。

于 2012-12-01T11:33:51.747 に答える
0

/(スラッシュ) 文字をエスケープする必要はありません。

したがって、基本的にこれが必要です:

input=new FileInputStream("/home/user/aa.txt");

File.separatorただし、代わりに使用する方がはるかに賢明です。

input=new FileInputStream(File.separator+"home"+File.separator+"user"+File.separator+"aa.txt");
于 2012-12-01T11:25:07.747 に答える