一、输入(读)

    1、定义:实现由文件将数据传给内存变量

    2、输入类:Scanner。

           实现数据的输入,由外设(键盘、文件)通过输入通道,将数据(按类型)提供给相应的变量。

    3、输入类的使用

(1)导入类:

          import java.util.Scanner;


        (2)从什么地方输入数据,要定义通道


            a.从键盘输入:

Scanner sc=newScanner(System.in);


            b.从文本文件输入:

File f1=new File("路径");
        Scanner sc=newScanner(文件对象名);

         (3)利用读的方法,将数据传到,变量

            输入对象(sc)的方法

hasNext():如果该Scanner的输入中后面还有信息(数据),则返回true,可以继续输入或获取下一个数据。
    next():        输入一个字符串,该串不能含空格。
    nextByte(): 输入一个字节型数据
    nextShort():输入一个短整型数据
    nextInt():    输入一个整型数据
    nextLong(): 输入一个长整型据
    nextFloat(): 输入一个单精度浮点实数
    nextDouble():输入一个双精度浮点实数
    nextBoolean ():输入一个布尔型数据
    nextLine():输入一个字符串,以回车键结束该串。

          (4)、关闭通道


sc.close();

        4、例:下图是一个登记成绩的数据文件,请根据该文件中的信息,将文件信息读出,并计算总成绩显示在显示器上。

        

java中怎么输入数据类型 java 输入数据_文

        解:       



public static void main(String[] args)throws FileNotFoundException{
        String s1,s2,s3,s4,xm;
        int cj1,cj2,cj3,zcj;
        File f=newFile("d:\\io1.txt");
        try {
  f.createNewFile();
  } catch (IOExceptione) {
  e.printStackTrace();
  }
        Scanner sc=newScanner(f);
        s1=sc.next();    s2=sc.next();      s3=sc.next();       s4=sc.next();
        System.out.println(s1+"   "+s2+"   "+s3+"   "+s4+"   "+"总成绩");
       while(sc.hasNext()){
            xm=sc.next();
            cj1=sc.nextInt();
            cj2=sc.nextInt();
            cj3=sc.nextInt();
            zcj=cj1+cj2+cj3;
            System.out.println(xm+"  "+cj1+"  "+cj2+"  "+cj3+"  "+zcj);
       }
       sc.close();
  }

二、输出(写)

    1、定义:实现将内存变量中的值保存到文件中

    2、输出类:PrintWriter

实现数据的输出,由外设内存变量通过输入通道,将数据(按类型)存到相应的文件中

    3、输出类的使用            

        (1)导入类        

import java.io.PrintWriter;

        (2)输出到哪里,需建立通道

            a.输出到控制台 

PrintWriter pw=new PrintWriter(System.out)
//System.out.println()与pw.println()等价

            b.输出到文件

PrintWriter pw=new PrintWriter(文件对象名)

        (3)利用写的方法,将变量的值写到文件中

         输出类对象(pw)的方法:

void print(boolean b) :        打印 boolean 值。
 void print(char c) :            打印字符。 
 void print(char[] s) :          打印字符数组。
 void print(double d) :        打印 double 精度浮点数。
 void print(float f) :              打印一个浮点数。
 void print(int i) :                打印整数。
 void print(long l) :             打印 long 整数。
 void print(Object obj) :     打印对象。
 void print(String s) :          打印字符串

        (4)关闭数据通道;


中。  

java中怎么输入数据类型 java 输入数据_System_02

 

        解:

public static void main(String[] args) throws FileNotFoundException {
         String s1,s2,s3,s4,xm;
         int cj1,cj2,cj3,zcj;
        File f1=new File(“d:\\io_2.txt");
        PrintWriter pw=new PrintWriter(f1) ;
        File f2=new File(“d:\\io_1.txt");
        Scanner sc=new Scanner(f2);
        s1=sc.next();    s2=sc.next();      s3=sc.next();       s4=sc.next();
        pw.println(s1+"  "+s2+"  "+s3+"  "+s4+"  "+"总成绩");
        while(sc.hasNext()){
            xm=sc.next();
            cj1=sc.nextInt();
            cj2=sc.nextInt();
            cj3=sc.nextInt();
            zcj=cj1+cj2+cj3;
            pw.println(xm+"   "+cj1+"   "+cj2+"   "+cj3+"   "+zcj);
      }
      pw.close();
      sc.close();
      System.out.println("运行结束!");
     }

ps:以上两种方法需知道文件的内容结构。