博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“Java输入输出”的课堂示例代码
阅读量:4119 次
发布时间:2019-05-25

本文共 6278 字,大约阅读时间需要 20 分钟。

《Java输入输出》的课堂小例子,针对输入输出流、字符流、字节流和文件操作等知识点

示例文件(共9个小例子,把相应注释去掉后运行即可)

package com.lecheng;import java.io.*;public class MainTest {	/**	 * @param args	 */	public static void main(String[] args) {		//例子1 :从一个文件读数据,处理后存入另一个文件/*		try {			BufferedReader in = new BufferedReader(new FileReader("in.txt"));			PrintWriter out = new PrintWriter(new BufferedWriter(					new FileWriter("out.txt")));			String s;			int i = 1;			while ((s = in.readLine()) != null) {				out.println("line " + i + "=" + s);				i++;			}			in.close();			out.close();			System.out.println("完成!");		} catch (FileNotFoundException e) {			System.err.println("无法打开in.txt");		} catch (IOException e) {			System.err.println("I/O exception");		}*/		//例子2:用字符流方式从键盘读入数据//		try{//			InputStreamReader isr= new InputStreamReader(System.in);//	        BufferedReader is = new BufferedReader(isr);//	        String inputLine;//	        while((inputLine = is.readLine())!=null) { //	        	System.out.println(inputLine);//	        }//	        is.close();//	      }catch(IOException e){//	          System.out.println("IOException: " + e);//	      }		//例子3:将各种数据类型的数据以字节流方式存入文件//		try{//			StudentPojo stu = new StudentPojo(1, "张三", "石家庄", 56.8, false);//			FileOutputStream fout = new FileOutputStream("text.txt");//	        DataOutputStream out = new DataOutputStream(fout);//	        out.writeInt(stu.getId());//	        out.writeChar('\n');//	        out.writeChars(stu.getName());//	        out.writeChar('\n');//	        out.writeChars(stu.getAddress());//	        out.writeChar('\n');//	        out.writeDouble(stu.getWeight());//	        out.writeChar('\n');//	        out.writeBoolean(stu.isSex());////	        out.close();//	      }catch(IOException e){//	      }		//例子4:将例子3中的内容读出//		DataInputStream in=null;//		try{//			in = new DataInputStream(new FileInputStream("text.txt"));//			int id;//			StringBuffer name, address;//			double weight;//			boolean sex;//			char ch;//			while(true){//				id = in.readInt();//				in.readChar();//				name = new StringBuffer(20);//				while((ch = in.readChar())!='\n'){//					name.append(ch);//				}//				address = new StringBuffer(20);//				while((ch = in.readChar())!='\n'){//					address.append(ch);//				}//				weight = in.readDouble();//				in.readChar();//				sex = in.readBoolean();//				System.out.println("ID:"+id);//				System.out.println("姓名:"+name);//				System.out.println("住址:"+address);//				System.out.println("体重:"+weight);//				System.out.println("性别:"+sex);//	         }//		}catch(IOException e){//		}		//例子5:使用FileInputStream和FileOutputStream实现文件拷贝/*		try{		      File inFile=new File("in.txt");		      File outFile=new File("out.txt");		      FileInputStream fis=new FileInputStream(inFile);		      FileOutputStream fos=new  FileOutputStream(outFile);			  int i=0, c;  			  while((c=fis.read())!=-1){				  fos.write(c);			  }		      fis.close(); 		      fos.close();			}catch(FileNotFoundException e) {		    	System.err.println("FileStreamsTest: "+e);			}catch(IOException e) {				System.err.println("FileStreamsTest: "+e);			}*/		//例子6:获取某路径下文件信息//		File files = new File("c:\\");//	    String fileList[] = files.list();//	    for(int i = 0; i < fileList.length; i++){//	    	File currfiles = new File("c:\\"+fileList[i]);//	    	System.out.print("文件名:" + fileList[i] + "\t");//	    	System.out.println("文件大小:" + currfiles.length());//	    }	    //例子7:用字符流方式从键盘读入数据后存入文件//			try{//				InputStreamReader isr= new InputStreamReader(System.in);//		        BufferedReader br = new BufferedReader(isr);//		        FileWriter fw = new FileWriter("char.txt");//		        BufferedWriter bw = new BufferedWriter(fw);//		        String str;//		        while(true){//		        	System.out.print("请输入一个字符串:");//		        	System.out.flush();//		        	str = br.readLine();//		        	if(str.length()==0){//		        		break;//		        	}//		        	bw.write(str);//		        	bw.newLine();//		        }//		        bw.close();//		      }catch(IOException e){//		          System.out.println("IOException: " + e);//		      }		//例子8:用字符流方式从文件中读入数据,用system.out输出到屏幕//		try{//			FileReader fr = new FileReader("char.txt");//			BufferedReader br = new BufferedReader(fr);//			int lineNum = 0;//			String str = br.readLine();//			while(str != null){//				lineNum++;//				System.out.println("第"+lineNum+"行:"+str);//				str = br.readLine();//			}//		}catch(IOException e){//			System.out.println("IOException: " + e);//		}		//例子9:用字符流方式从文件中读入数据,用流方式输出到屏幕//		try{//			FileReader fr = new FileReader("char.txt");//			BufferedReader br = new BufferedReader(fr);//			OutputStreamWriter osw = new OutputStreamWriter(System.out);//			BufferedWriter bw = new BufferedWriter(osw);//			int lineNum = 0;//			String str = br.readLine();//			//			while(str != null){//				lineNum++;//				bw.write(String.valueOf(lineNum));//				bw.write(" ");//				bw.write(str);//				bw.newLine();//				str = br.readLine();//			}//			bw.close();//		}catch(IOException e){//			System.out.println("IOException: " + e);//		}	}}
用到的POJO类

package com.lecheng;public class StudentPojo {	private int id;	private String name;	private String address;	private double weight;	private boolean sex;	/**	 * @param id	 * @param name	 * @param address	 * @param weight	 * @param sex	 */	public StudentPojo(int id, String name, String address, double weight,			boolean sex) {		this.id = id;		this.name = name;		this.address = address;		this.weight = weight;		this.sex = sex;	}	/**	 * @return the id	 */	public int getId() {		return id;	}	/**	 * @param id the id to set	 */	public void setId(int id) {		this.id = id;	}	/**	 * @return the name	 */	public String getName() {		return name;	}	/**	 * @param name the name to set	 */	public void setName(String name) {		this.name = name;	}	/**	 * @return the address	 */	public String getAddress() {		return address;	}	/**	 * @param address the address to set	 */	public void setAddress(String address) {		this.address = address;	}	/**	 * @return the weight	 */	public double getWeight() {		return weight;	}	/**	 * @param weight the weight to set	 */	public void setWeight(double weight) {		this.weight = weight;	}	/**	 * @return the sex	 */	public boolean isSex() {		return sex;	}	/**	 * @param sex the sex to set	 */	public void setSex(boolean sex) {		this.sex = sex;	}	}

转载地址:http://xknpi.baihongyu.com/

你可能感兴趣的文章
【设计模式】—-(2)工厂方法模式(创建型)
查看>>
有return的情况下try catch finally的执行顺序(最有说服力的总结)
查看>>
String s1 = new String("abc"); String s2 = ("abc");
查看>>
JAVA数据类型
查看>>
Xshell 4 入门
查看>>
SoapUI-入门
查看>>
Oracle -常用命令
查看>>
JAVA技术简称
查看>>
ORACLE模糊查询优化浅谈
查看>>
2016——个人年度总结
查看>>
2017——新的开始,加油!
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
弱类型、强类型、动态类型、静态类型语言的区别是什么?
查看>>