Я написал фрагмент кода, если DataOutputStream.Java DataOutputStream
Но Консоль не показала, чего я ожидал.
Консоль show No file given
, и я хочу, чтобы он печатал идентификатор и имя, записываемое во втором try{}
.
Кажется, что я попал в выходной поток файла.
Пожалуйста, помогите мне узнать, что случилось ...
import java.io.*;
public class DOutPut {
public static void main(String args[]) {
DataOutputStream dos;
FileOutputStream fos;
int id = 100;
String name = "Tanaka";
if (args.length <= 0) {
System.out.println("No file given");
System.exit(1);
}
try {
fos = new FileOutputStream(args[0]);
dos = new DataOutputStream(fos);
try {
dos.writeInt(id);
System.out.println("wrote a id: " + id);
dos.writeUTF(name);
System.out.println("wrote a name: " + name);
} catch (IOException e) {
// TODO: handle exception
System.err.println("IO error");
System.exit(1);
} finally {
fos.close();
dos.close();
}
} catch (IOException e) {
// TODO: handle exception
System.err.println("Opening/Closing error");
System.exit(1);
}
}
}
Здесь я нашел решение. Спасибо всем, кто отвечает на мой вопрос.
Я должен использовать его с аргументами. Поскольку для кода fos = new FileOutputStream(args[0])
требуется аргумент.
Я пишу Java-коды от Eclipse, и могу использовать Run-Run Configurations.
Ну, что же такое консольное шоу и что вы ожидали? – immibis
Вы говорите, что консоль показывает «файл не указан». Разумеется, вы должны знать, что это значит, потому что * вы * тот, кто сделал эту программу распечаткой! – immibis
@immibis Я все еще не получил ... Я написал, если длина аргументов коротка, чем 0, это означает, что нет файла, поэтому напечатайте 'no file given'. Но я ожидаю, что он показывает' написал идентификатор : 100, написал имя: Tanaka' ... –