2016-10-14 11 views
-4

Я написал фрагмент кода, если 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.

+2

Ну, что же такое консольное шоу и что вы ожидали? – immibis

+1

Вы говорите, что консоль показывает «файл не указан». Разумеется, вы должны знать, что это значит, потому что * вы * тот, кто сделал эту программу распечаткой! – immibis

+0

@immibis Я все еще не получил ... Я написал, если длина аргументов коротка, чем 0, это означает, что нет файла, поэтому напечатайте 'no file given'. Но я ожидаю, что он показывает' написал идентификатор : 100, написал имя: Tanaka' ... –

ответ

0

Вы не представили аргументы своей программе Java.

java -? 
Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 
e.g. 
java DOutPut C:\MyFolder\MyFile.txt 
+0

Спасибо, я должен работать с аргументами –

 Смежные вопросы

  • Нет связанных вопросов^_^