私はこのコードをSun Javaサイトから実行しようとしています(私はそれをコピーしていませんでした、それを見て、コードを思い出すのに役立ちます)。プログラムをコンパイルしようとしたときにエラーが発生しました
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CharEx{
FileReader inputStream = null;
FileWriter outputStream = null;
public static void main(String args[]) throws IOException{
FileReader inputStream = null;
FileWriter outputStream = null;
try{
inputStream = FileReader("xanadu.txt");
outputStream = FileWriter("out.txt");
int c;
while ((c = inputStream.read()) != -1){
outputStream(c);
}
}
finally{
if(inputStream !=null){
inputStream.close();
}
if(outputStream !=null){
outputStream.close();
}
}
}
}
しかし、私はフォローイングエラーが発生しています。 ((
誰かが私が間違って取得していますどこに私を助けることができる
:?私はそれがjava.io.*
の内側にそれを見なければならないのに対し、システムが
java.lang
内部
FileReader
を探していると思うのメッセージから
D:\Java>javac CharEx.java
CharEx.java:14: cannot find symbol
symbol : method FileReader(java.lang.String)
location: class CharEx
inputStream = FileReader("xanadu.txt");
^
CharEx.java:15: cannot find symbol
symbol : method FileWriter(java.lang.String)
location: class CharEx
outputStream = FileWriter("out.txt");
^
CharEx.java:18: cannot find symbol
symbol : method outputStream(int)
location: class CharEx
outputStream(c);
^
3 errors
PS:私は、JDK 1.5によ
私はあなたがIDEを使用してみることをお勧めします。正しいコードを書いてより速いフィードバックを得るのに役立ちます。 –
@ピーター:合意。しかし、手作業でコンパイルして実行することについては、多くのことが言われています。 –
トピックを部分的にオフにする: 'Reader'が' Stream'で終わる変数を呼び出すことを避けるでしょう。 'Reader' /' Writer'はテキストを扱うためのもので、 'InputStream' /' OutputStream'はバイナリデータを扱うものです。両方のグループは一般的な意味で「ストリーム」と考えることができますが、このように用語を混ぜると混乱することがあります。私は変数をそれぞれ "読者"と "ライター"と呼んでいます。 –