ファイルは aa.txt ディレクトリ/home/user
にあり、私が書いたコードは
input=new FileInputStream("//home//user//aa.txt");
しかし、プログラムはファイルを開くことができません。Windowsで実行すると、fedoraのパスの形式がプログラムによって正しく読み取られるように機能しますか???
ファイルは aa.txt ディレクトリ/home/user
にあり、私が書いたコードは
input=new FileInputStream("//home//user//aa.txt");
しかし、プログラムはファイルを開くことができません。Windowsで実行すると、fedoraのパスの形式がプログラムによって正しく読み取られるように機能しますか???
はエスケープ文字として使用されるため\
(たとえば\n
、=改行および\t
=タブ)、この文字を文字列に配置するときに\\
単一を意味するように記述する必要があります。\
この問題はスラッシュでは発生しません/
。Linuxディレクトリの場合、スラッシュ/
が使用されます。Windowsは円記号を使用します。OSに依存しないコードを書くのは苦痛かもしれませんが、それは問題ではありません。ファイルを処理するときにスラッシュを使用するだけで、Javaが自動的にそれを正しいOS固有の形式に変換します。
たとえば、WindowsにC:/Users/Owner/Documents
なります。C:\Users\Owner\Documents
または、書くこともできます"C:\\Users\\Owner\\Documents"
が、単純なスラッシュ形式の方が単純に見えます。
/
(スラッシュ) 文字をエスケープする必要はありません。
したがって、基本的にこれが必要です:
input=new FileInputStream("/home/user/aa.txt");
File.separator
ただし、代わりに使用する方がはるかに賢明です。
input=new FileInputStream(File.separator+"home"+File.separator+"user"+File.separator+"aa.txt");