public static void main(String param[]){}
此语句一般是
java application程序的开始。
所需包引入:
import java.io.*;
字符设为
byte
如:
byte buffer[]=new byte[80]; //申请byte类型的空间存储输入字符
System.out.println(“/n请输入5个字符。。。
”); //提示输入
int bytes=System.in.read(buffer); //将键盘输入读进
buffer,要bytes类型
for(int i=0;i<5;i++)
System.out.print(buffer[i]); //输出
buffer中的前五个字符的ASCII码
for(int i=0;i<5;i++)
System.out.print((char)buffer[i]);//输出
buffer中的前五个字符
//用来检错,与
try配合使用,把所有要执行的语句都放入try{}内,后面跟着catch(){}
catch (Exception e) {
String err=e.toString();
System.out.println(err);
}
String本身是一个对象而不是基本类型。
String类型的变量名是对String类的引用。内存分为四块区域,堆,堆栈,数据段,代码段。String str1=”x”; String str2=”x”;这样初始化是把x放在数据段,而根据字符数据池机制,只会有一个“x”,而在堆栈里面分配两个str1,str2的两个引用是指向了同样的一个“x”,而用String str3=new String(“x”);这个“x”是直接分配到堆里,而引用str3分配到堆栈里。
键盘输入整数n1,n2,计算并显示n1*n2,如下例:
import java.io.*;
class JavaIO_02N {
public static void main(String param[]) {
String nn1="",nn2=""; //定义两个
String整型对象nn1,nn2
//定义一个
BufferedRead类型的distream,用于输入时使用。
BufferedReader distream = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("键入第
1个整数:");
nn1=distream.readLine();
//进行输入,并把输入的数存入nn1中
System.out.println("键入第
2个整数:");
nn2=distream.readLine();
}
catch(IOException e){ System.out.println("键入错误!:
"); }
//将nn1,nn2都转变了int类型,以便进行乘法运算。Integer也是一个整型对象,Integer.parseint()就是把整型对象Integer转换成基本数据类型int(整型)。
int n1=Integer.parseInt(nn1);
int n2=Integer.parseInt(nn2);
System.out.println(n1*n2);
}
}
如下两种“+”不同:
String str = "3";
int i = Integer.parseInt(str);
System.out.println(i+1);//输出4; 因是 整数相加
String str = "3";
System.out.println(str+1);//output 31; 当作 字符串连接
int i = Integer.parseInt(str);
System.out.println(i+1);//输出4; 因是 整数相加
String str = "3";
System.out.println(str+1);//output 31; 当作 字符串连接
public static void main(String args[])解释:
它是java程序的入口,写在主类里面,因其要在类外进行调用main()操作,所以是public;因为系统开始执行一个程序前,并没有创建main()方法所在类的实例对象,它只能通过类名调用主方法main()作为程序入口,所以该方法为static;因主方法并没有返回值,所以为void;其中main是主方法名;String args[]或者String[] args表示给主方法传一个字符串数组,字符串名为args。且,这String args[], String[] args 基本类似。可一样使用。
文件读入并输出1:只能输出字符,而不能输出中文
//建立当前要打开的文件句柄
in
FileInputStream in = new FileInputStream(new File(“D:/eclipse/IO/test.txt”));
while(in.available()>0) //
in.available()
返回文件的字节长度
{
System.out.print(
(char)in.read());//输出
字符,in.read()一个字符一个字符的读取
// System.out.print(
in.read());//输出
字符对应的ASCII码
}
in.close(); //使用完后将文件关闭
文件读入并输出2:可输出中文
String s=""
; //定义一个String对象,应来暂存所读取的一行文字
建立当前要打开的文件句柄
in
BufferedReader in = new BufferedReader(new FileReader(“D:/eclipse/美酒
.txt”));
s = in.readLine(); //利用读取文件的句柄读取文档中的一行
System.out.println(s); //并输出这一行
in.close(); //关闭文件
print()
与println()的区别:
print()方法在输出括号里指定的字符串后就结束操作,而不再添加回车,光标停留在字符串最后一个字符的右边,println()则是添加回车,光标停在下一行。
文件读入与输出3:读入整篇文章并输出
import java.io.*;
public class JavaIO_032 {
public static void openDispFile(String fileName){//定义一个可外部调用的函数
try{
File file = new File(fileName);
//
int fileSize = (int)file.length();
int charsReaded = 0;
FileReader in = new FileReader(file);//建立当前要打开的文件句柄
char[] data = new char[fileSize]; //建立一个字符数组,用于存放
//将文件读到
data:
while(in.ready()) {
charsReaded += in.read(data, charsReaded, fileSize - charsReaded);
}
System.out.println("显示文件内容
:从开头显示到结尾");
String s1=new String(data, 0, charsReaded);//
把纯字符数组转变为String类型
System.out.println(s1); //String
类型可直接输出
System.out.println("显示文件内容
:40个字节");
String s2=new String(data, 10, 50);
System.out.println(s2);
//关闭文件
in.close();
}
catch (IOException e){
System.out.println("
文件打开错误!"+fileName);
}//
错误处理
}
public static void main(String p[]) {
//openDispFile("c://000//test.txt");
openDispFile("D:/eclipse/美酒
.txt"); //两种写路径的方法均可
}
}
总结:在读文件中,有三种方式,建立文件句柄时,FileInputStream与FileReader格式类似,都是FileInputStream in = new FileInputStream
(new File
(“test.txt”));
将字符串写入磁盘文件:
import java.io.*;
//按字节写
//用文件输出流
FileOutputStream
//将字符串写入磁盘当前目录文件
test.txt
//如磁盘无此文件,新建立;若有此文件,则删除已有内容
public class JavaIO_04
{
public static void main(String[] args)
{
try
{
File aFile=new File("test.txt"); //指定文件名
//建立输出流
FileOutputStream out= new FileOutputStream(aFile);
byte[] b=new byte[1024];
String str="This is a test file 贵州大学
";
b=str.getBytes(); //进行
String到byte[]的转化
out.write(b); //写入文本内容,
写入文档应是byte类型
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
将文件在JAVA中进行压缩并写入磁盘
//package javaio;
import java.io.*;
import java.util.zip.*;
//
//将文件
JavaIO_05.java压缩为JavaIO_05.zip并保存到当前目录下
public class JavaIO_05
{
public static void main(String[] args)
{
try
{
//建立输出文件流
FileOutputStream fileOut=
new FileOutputStream("JavaIO_05.zip");
//建立冗余验证流
CheckedOutputStream checkedOut=
new CheckedOutputStream(fileOut,new CRC32());
//建立
Zip流
ZipOutputStream zipOut=
new ZipOutputStream(
new BufferedOutputStream(checkedOut));
//设置注释内容
zipOut.setComment("This is a java zipping test file");
//文件名
String fileName="JavaIO_05.java";
//读取被压速文件流
BufferedReader in=
new BufferedReader(new FileReader(fileName));
//建立压缩实体
zipOut.putNextEntry(new ZipEntry(fileName));
int ch;
//当被压缩文件没有结束时继续读写
while ((ch=in.read())!=-1)
{
zipOut.write(ch);
}
//关闭文件流,释放资源
in.close();
zipOut.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}