学了c/c++之后再接触java,就觉得java在输入方面有点不可思议,总是要先建立输入流再一一获取输入的信息。现在感觉其实也和C++中的文件流差不多,只是在定义文件的时候总是不要忘了异常的处理。
文件输入:
1.最方便的Scanner:
Scanner in = new Scanner(new DataInputStream(new FileInputStream(new File("trim-data/synutra.txt"))));
int x = in.nextInt();
String s = in.next();
String line = in.nextLine();
double y = in.nextDouble();
2.文件输入流FileInputStream
File f=new File("d:\\filetest","file1.txt");
FileInputStream ifs=new FileInputStream(f);
byte b[]=new byte[(int)f.length()];
ifs.read(b);
for(int i=0;i<f.length();i++)
System.out.print((char)b[i]);char ch;
for(int i=0;i<f.length();i++){
ch=(char)is.read();
System.out.print(ch);
}
文件输出
1. FileWriter
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
String content = "";
writer.write(content);
writer.close();
2. 文件输出流FileOutputStream
File f=new File("d:\\filetest","file1.txt");
FileOutputStream fos=new FileOutputStream(f,true);
for(int i='a';i<='z';i++)
fos.write(i);
fos.close();