首页 > 代码库 > JAVA输入输出总结

JAVA输入输出总结

标准输入:

Scanner cin = new Scanner(System.in);
 
 cin.nextLine();:输入一行,可能存在空格,功能特点类似于C中的gets();
 
cin.next();:输入一个单词,以空白字符为结束标志,类似于scanf(“%s”,str);
 
cin.nextInt();:输入整形数据
 
cin.nextDouble();输入浮点性数据

 

以上4种输入方式这些输入都是可见的,不适用于控制台读取密码

控制台密码的读取,应用Console类:一次读入一行

为了安全起见,返回的密码存放在一维数组中,对密码进行了处理,用一个填充值覆盖 数组元素

代码:

import java.io.Console;

public class Main 
{
	public static void main(String[] args)
	{
		Console cin = System.console();
		String name = cin.readLine("Username:");
		char[] Password = cin.readPassword("Password:");
		
		String Pass = "";//初学还不知道这里有没有什么好的办法
		for(int i = 0;i<Password.length;i++)
		{
			Pass = Pass + Password[i]; 
		}
		if(Pass.equals("123456") && name.equals("xxx"))
		{
			System.out.println("密码正确");
		}
		else 
		{
			System.out.println("密码错误");
		}
	}
}

标准输出:

就比较简单了

System.out.println(“hello”);//加上ln会自动换行,不加则不换
System.out.println(“heado”+”,”+”world”+2014);//打印hello,world2014,为了字符串连接,重载了+运算符

于此同时 JAVA  SE5.0还沿用了C中的printf();方法,用法和C基本一样

double x = 0.56;
System.out.printf("%.2f",x);//只是没有了&符

System.out.println();是最常用的


文件的输入和输出:

1.要想对文件进行读取,就要用File对象构造一个Scanner对象,如:

Scanner cin = new Scanner(Paths.get("myfile.txt"));

如果文件名中有反斜杠,就要在每个反斜杠的前面再加一个反斜杠:

“C:\\MyFile\\myfile.txt”

2.要想写入,就要构造PrintWriter对象,只需要提供文件名

PrintWriter out = new PrintWriter("myfile.txt");

如果文件不存在,则创建文件,可以输出到System.out一样使用printprintlnprintlf等命令

 

注意:


可以构造一个带子父串参数的Scanner,但这个Scanner将字符串解释为数据,而不是文件名

Scanner in = new Scanner(myfile.txt);

这个Scanner会将参数作为包含10个字符的数据:m、‘y’、f


PS:

当指定一个相对文件名时,例:myfile.txt 或 .../myfile.txt

文件位于Java虚拟机启动路径的相对位置

 

1.如果在命令行方式下,用下列命令启动程序

   java.MyProg //启动路径就是命令解释器的当前路径

2.如果使用集成开发环境,那么启动路径由IDE控制,可以使用下面的调用方式来找到路径的位置:

String dir = System.getProperty(“user.dir”);

如果觉得定位文件比较麻烦,可以考虑用绝对路径,如“C:\\madirectory\\myfile.txt”或者/home/me/directory/myfile.txt


警告:

    如果用一个不存在的文件构造一个Scanner或用一个不能被创建的文件名构造一个PrintWriter那么就会出现异常,这些异常,在Java被认为比“整除零”更严重,所以,需要在main方法中用throws标记

public static void main(String[] args)throws FileNotFoundException
	{
		PrintWriter out = new PrintWriter("myfile.txt");
	}

PS:当采用命令行方式启动一个人程序,可以用重定向将文件捆绑到System.inSystem.out

Java MyProg <myfile.txt> output.txt

这样就不必担心处理FileNotFoundException异常了


java.util.Scanner 5.0

Scanner(File f)

构造一个从给定文件读取数据的Scanner

ScannerString data

构造一个从给定字符串读取数据的Scanner

import java.io.PrintWriter 1.1

PrinteWriter(String FileName)

构造一个将数据写入文件的PrintWriter,文件名由参数指定

Java.nio.file.Paths 7

Static Path get(String Pathname)

根据给定的路径构造一个Path






JAVA输入输出总结