最近在写文件文件读写的功能对读写操作有了更深一层的理解。
在java中stream代表一种数据源,javaio的底层数据源。
在任何有能力产生数据源的javaio对象就可以看作是一个InputStream对象。他能产生数据源我们便能将数据取出来,java对封装的通用方法就用read()方法。
反之任何有能力接受数据源的javaio对象我们就可以看作是一个outputsteram 对象,能接受数据我们就可以调用它的write方法,
下面是一些常用的流。
基于字节流的stream:
dataOutputstream dataInputStream
FileOutputStream FileInputStream
基于字符流的Stream
FileWriter FileReader
StringWriter StringReader
输出数据:
void write(int b) 往流中写一个字节b
void write(byte b[])王字节中写一个字节数组b
void write(byte b[],int off,int len)把字节数组b中从下标off开始,长度问len的字节写入流中
最后关闭流。OutputStream是流的形式,具体可以表现为FileOutputStream的形式进行整行的写入。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
outputStream
下面是我写的一个简单的小项目。
一:首先创建一个对象
package com.files.readdata;
import java.math.BigDecimal;
/**
* 类
* @author Frank.dai
*
*/
public class InfoBean {
private BigDecimal seqNo;
private String billNo;
private String policyNo;
private String certiNo;
private BigDecimal amount;
private String returnCode;
private String returnDesc;
public BigDecimal getSeqNo() {
return seqNo;
}
public void setSeqNo(BigDecimal seqNo) {
this.seqNo = seqNo;
}
public String getBillNo() {
return billNo;
}
public void setBillNo(String billNo) {
this.billNo = billNo;
}
public String getPolicyNo() {
return policyNo;
}
public void setPolicyNo(String policyNo) {
this.policyNo = policyNo;
}
public String getCertiNo() {
return certiNo;
}
public void setCertiNo(String certiNo) {
this.certiNo = certiNo;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public String getReturnCode() {
return returnCode;
}
public void setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public String getReturnDesc() {
return returnDesc;
}
public void setReturnDesc(String returnDesc) {
this.returnDesc = returnDesc;
}
}
二:写一个来连接数据库的操作
package com.files.readdata;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DbConnection {
public static Connection getConnection(){
Connection con = null;
Properties properties = new Properties();
InputStream in = Thread.currentThread().getClass().getResourceAsStream("/database.properties");
try {
properties.load(in);
String driver = properties.getProperty("driver");
if(driver != null){
System.setProperty("jdbc.drvers", driver);
}
String url = properties.getProperty("jdbc.url");
String username = properties.getProperty("jdbc.username");
String password = properties.getProperty("jdbc.password");
try {
con = DriverManager.getConnection(url,username,password);
} catch (SQLException e) {
e.printStackTrace();
Logger.getLogger(DbConnection.class.getName()).log(Level.SEVERE, null, e);;
}
} catch (IOException e1) {
e1.printStackTrace();
}
return con;
}
}
三:创建对数据库操作的类
package com.files.readdata;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.sql.Co