最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java登不上SQL編輯器,IO流,轉(zhuǎn)換流字節(jié)轉(zhuǎn)字符,swing,二進(jìn)制JDBC,保存圖片詩書畫唱

2020-07-20 17:40 作者:詩書畫唱  | 我要投稿

當(dāng)?shù)遣簧蟂QL編輯器的時候,可能是自己寫的服務(wù)器名稱不存在,所有就去把服務(wù)器名稱改為“.",可代表所有的所有的服務(wù)器名稱。


SQL編輯器中儲存圖片的二進(jìn)制的形式要用“image”的數(shù)據(jù)類型,而不是字符串(長度最大為8000)的類型,因為可能會存不下(親身經(jīng)歷的總結(jié))。

案例1:在項目根目錄新建一個txt文件,提示用戶輸入內(nèi)容,知道輸入“no”后結(jié)束輸入,將其保存到該文件中,要求保存的格式為utf-8(文件本身的格式不可改變,但是保存到文本內(nèi)容用轉(zhuǎn)換流保存為自己要保存的格式)



//案例1:在項目根目錄新建一個txt文件,

//提示用戶輸入內(nèi)容,知道輸入“no”后結(jié)束輸入,

//將其保存到該文件中,要求保存的格式為utf-8

package zhuanHuaLiu;

import java.io.*;

import java.util.*;

public class shuRu {

public static void main(String[] args) throws Exception {

File newWenJian=new File("src//new.txt");

if(newWenJian.exists()){

newWenJian.delete();

newWenJian.createNewFile();

}else{

newWenJian.createNewFile();

}


while(true){


System.out.println("請輸入內(nèi)容(輸入“no”后結(jié)束輸入)");


Scanner shuRu=new Scanner(System.in);

String jieShouHang=shuRu.nextLine();

if(!jieShouHang.equals("no")){

InputStreamReader shuRuLiu=new InputStreamReader

(new FileInputStream(newWenJian),"UTF-8");

//FileOutputStream outputStream = new FileOutputStream(newWenJian);?

//OutputStreamWriter outputWriter=

//new OutputStreamWriter(outputStream,"utf-8");


FileWriter xieRu=new FileWriter(newWenJian , true);

xieRu.write(jieShouHang);

xieRu. flush();

xieRu. close();

System.out.println("追加成功!");


// BufferedWriter shuRuLiu=

// new BufferedWriter(new FileWriter(newWenJian));

// shuRuLiu.write(jieShouHang);

// shuRuLiu.flush();

// shuRuLiu.close();

System.out.println("輸入的內(nèi)容已經(jīng)寫入到new.txt中");

}

else{


System.out.println("輸入的內(nèi)容為no!結(jié)束輸入!");

System.exit(0);




}



}


}



}






案例2:讀取保存的文件的信息,要求讀取的格式分別為gbk,utf-8


package zhuanHuaLiu;

?

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

?

/*

? ? FileReader可以讀取IDE默認(rèn)編碼格式(UTF-8)的文件

? ? FileReader讀取系統(tǒng)默認(rèn)編碼(中文GBK)會產(chǎn)生亂碼

?*/

public class baoLiu {

? ? public static void main(String[] args) throws IOException {

? ? System.out.println("從UTF-8.txt讀取的內(nèi)容:");?

? ? duQu("UTF-8.txt","UTF-8");

? ? System.out.println("\n\n從GBK.txt讀取的內(nèi)容:");?

? ? ? ? duQu("GBK.txt","GBK");

? ? }


private static void duQu(String luJing,String bianMaGeShi)?

throws FileNotFoundException, IOException {



// FileReader fr = new FileReader(luJing);


InputStreamReader jieMa =

new InputStreamReader(new FileInputStream(luJing),bianMaGeShi);

//:InputStreamReader YYY =

//new InputStreamReader(new FileInputStream(ZZZ),XXX);

// :表示可以讀取中文不亂碼的編碼格式為"XXX"


// OutputStreamWriter bianMa =

// new OutputStreamWriter

// (new FileOutputStream(luJing),"UTF-8");

? ? ? ? int len = 0;

? ? ? ? while((len = jieMa.read())!=-1){

? ? ? ?

? ? ? ? ? ? System.out.print((char)len);

? ? ? ? }

? ? ? ? jieMa.close();

}

}







擴(kuò)展:

獲取編碼格式:





案例3:使用轉(zhuǎn)換流讀取一張文本信息,要求讀取的格式為UTF-8,將內(nèi)容保存到數(shù)據(jù)庫





create table wenBen(


wenBenId int primary key identity(1, 1),


wenBenNeiRong nvarchar(100) not null

)

select * from wenBen




package zhuanHuaLiu;

import java.io.*;

import java.sql.*;

import java.util.*;


public class zhuanHuan {

public static void main(String[] args) throws Exception{


// Just do it!你好!請給我(詩書畫唱)三連和關(guān)注!

File f=new File("aa.txt");

InputStreamReader shuRuLiu=new InputStreamReader

(new FileInputStream(f),"UTF-8");

//:這樣會中文亂碼

//InputStreamReader isr=new InputStreamReader

//(new FileInputStream(f));這樣就不會中文亂碼

BufferedReader huanChongLiu=new BufferedReader(shuRuLiu);

String ziFuChuan="";

ArrayList<String> jiHe=new ArrayList<String>();

while((ziFuChuan=huanChongLiu.readLine())!=null){

jiHe.add(ziFuChuan);

}

shuRuLiu.close();

Connection con=DBUtilsPreparedStatement.getCon();

for(String i:jiHe){

DBUtilsPreparedStatement.ZSG("insert into wenBen values(?)",con,i);

}




}


}



package zhuanHuaLiu;

import java.io.InputStream;

import java.sql.*;

import java.util.Properties;


class DBUtilsPreparedStatement{

static String url,root,uname,pwd=null;

static PreparedStatement ps=null;

static Connection con=null;

static ResultSet res=null;

static{

InputStream is=DBUtilsPreparedStatement.class.

getResourceAsStream("./database.properties");

Properties p=new Properties();

try {

p.load(is);

url=p.getProperty("url");

root=p.getProperty("root");

uname=p.getProperty("uname");

pwd=p.getProperty("pwd");


Class.forName(root);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static Connection getCon(){

if(con==null){

try {

con=DriverManager.getConnection(url,uname,pwd);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return con;

}

public static ResultSet Select(String sql,Connection con1,Object... o){

con=con1;

System.out.println(sql);

try {

ps=con.prepareStatement(sql);

for(int i=0;i<o.length;i++){

ps.setObject(i+1,o[i]);

}

res=ps.executeQuery();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return res;

}

public static boolean ZSG(String sql,Connection con1,Object... o){

con=con1;

boolean b=false;

try {

ps=con.prepareStatement(sql);

for(int i=0;i<o.length;i++){

ps.setObject(i+1,o[i]);

}

int num=ps.executeUpdate();

if(num>0){

b=true;

}

} catch (Exception e) {

e.printStackTrace();

}

return b;

}

}



url=jdbc:sqlserver://localhost;databaseName=yonghu

uname=qqq

pwd=123

root=com.microsoft.sqlserver.jdbc.SQLServerDriver







案例4:使用數(shù)據(jù)庫保存一張圖片,并將其讀取出來,數(shù)據(jù)庫圖片列設(shè)置為image,使用字節(jié)流或者字節(jié)緩沖流來做

create table img(


imgId int primary key identity(1, 1),


img image not null

)

--drop table img

select * from img




package zhuanHuaLiu;


import java.io.*;

import java.sql.*;


public class imgBaoCun {


public static void main(String[] args) throws Exception {


File img=new File("7.jpg");


// FileInputStream:字節(jié)輸入流

// 由in聯(lián)想到輸入進(jìn)入里面。由out聯(lián)想到輸處出去到外面。

// FileOutputStream:字節(jié)輸出流

FileInputStream ziJieShuRuLiu=new FileInputStream(img);

byte[] ziJieShuZu=new byte[(int)img.length()];

//:這里把圖片轉(zhuǎn)換為二進(jìn)制

ziJieShuRuLiu.read(ziJieShuZu);

//:用read讀一次就將ziJieShuRuLiu圖片

// 用ziJieShuZu的形式格式全部讀完了

Connection con=DBUtilsPreparedStatement.getCon();

DBUtilsPreparedStatement.

ZSG("insert into img values (?)", con, ziJieShuZu);

System.out.println("內(nèi)容存儲成功");

}

}





package zhuanHuaLiu;

import java.io.InputStream;

import java.sql.*;

import java.util.Properties;


class DBUtilsPreparedStatement{

static String url,root,uname,pwd=null;

static PreparedStatement ps=null;

static Connection con=null;

static ResultSet res=null;

static{

InputStream is=DBUtilsPreparedStatement.class.

getResourceAsStream("./database.properties");

Properties p=new Properties();

try {

p.load(is);

url=p.getProperty("url");

root=p.getProperty("root");

uname=p.getProperty("uname");

pwd=p.getProperty("pwd");


Class.forName(root);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static Connection getCon(){

if(con==null){

try {

con=DriverManager.getConnection(url,uname,pwd);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return con;

}

public static ResultSet Select(String sql,Connection con1,Object... o){

con=con1;

// System.out.println(sql);

try {

ps=con.prepareStatement(sql);

for(int i=0;i<o.length;i++){

ps.setObject(i+1,o[i]);

}

res=ps.executeQuery();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return res;

}

public static boolean ZSG(String sql,Connection con1,Object... o){

con=con1;

boolean b=false;

try {

ps=con.prepareStatement(sql);

for(int i=0;i<o.length;i++){

ps.setObject(i+1,o[i]);

}

int num=ps.executeUpdate();

if(num>0){

b=true;

}

} catch (Exception e) {

e.printStackTrace();

}

return b;

}

}


url=jdbc:sqlserver://localhost;databaseName=yonghu

uname=qqq

pwd=123

root=com.microsoft.sqlserver.jdbc.SQLServerDriver







案例5.使用swing新建一個注冊界面,點擊提交將用戶信息提交到文件中,在用戶登錄的時候去文件中讀取信息,判斷用戶是否可以進(jìn)行正常登錄




package zhuanHuaLiu;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.*;

import java.sql.*;


import javax.swing.*;


public class swing? extends JFrame{

public static JTextField unameKuang,pwdKuang;

public static JLabel unameWenZi, pwdWenZi = null;


public static JButton dengLuAnNiu,zhuCeAnNiu;


public static void main(String[] args) throws Exception{


new swing();

}

public swing(){


this.setLayout(null);

this.setSize(400,400);

this.setLocationRelativeTo(null);

unameKuang=new JTextField();

pwdKuang=new JTextField();

dengLuAnNiu=new JButton("登錄");

zhuCeAnNiu=new JButton("注冊");

unameWenZi=new JLabel("用戶名");

pwdWenZi=new JLabel("密碼");

unameKuang.setBounds(130,100,130,30);

pwdKuang.setBounds(130,140,130,30);

unameWenZi.setBounds(80,100,130,30);

pwdWenZi.setBounds(80,140,130,30);

dengLuAnNiu.setBounds(130,180,70,30);

zhuCeAnNiu.setBounds(220,180,70,30);

dengLuAnNiu.addActionListener(new shiJian());

zhuCeAnNiu.addActionListener(new shiJian());

this.add(unameWenZi);this.add(pwdWenZi);

this.add(unameKuang);this.add(pwdKuang);

this.add(dengLuAnNiu);this.add(zhuCeAnNiu);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);



}

}

class shiJian implements ActionListener{


@Override

public void actionPerformed(ActionEvent e) {

try {

String neiRong=e.getActionCommand();

if(neiRong.equals("登錄")){

//用.getText().trim();

// (去除其中空格后)得到用戶輸入的用戶名和密碼

String uname=swing.unameKuang.getText().trim();

String pwd=swing.pwdKuang.getText().trim();

System.out.println("用戶名:"+uname+"? :? ?密碼:"+pwd);

//讓用戶輸入的內(nèi)容和文件中的內(nèi)容相比較,

//如果都相等的時候就可以登錄,否則不能登錄。

//讀取文件:

File wenJian=new File("aa.txt");

FileReader duQu=new FileReader(wenJian);

char[] charShuZu=new char[100];

int len;

//因為每次讀的內(nèi)容都是一個字符數(shù)據(jù),所以

//將讀取的所有內(nèi)容拼接為一個StringBuffer:

StringBuffer ziFuChuanHuanChing=new StringBuffer();

// String和StringBuffer他們都可以存儲和操作字符串,

// 即包含多個字符的字符串?dāng)?shù)據(jù)。

// String類是字符串常量,是不可更改的常量。

// 而StringBuffer是字符串變量,它的對象是可以擴(kuò)充和修改的。

while((len=duQu.read(charShuZu))!=-1){

ziFuChuanHuanChing.append(new String(charShuZu,0,len));

}

duQu.close();

String[] StringShuZu=

ziFuChuanHuanChing.toString().split("\\|");//轉(zhuǎn)義符號


// (1)split表達(dá)式,其實就是一個正則表達(dá)式。

// *? ^ | 等符號在正則表達(dá)式中屬于一種有特殊含義的字符,

// 如果使用此種字符作為分隔符,必須使用轉(zhuǎn)義符即\\加以轉(zhuǎn)義。

//? ? (2)如果使用多個分隔符則需要借助 | 符號,如二所示,

// 但需要轉(zhuǎn)義符的仍然要加上分隔符進(jìn)行處理

//

//

//

// 所有的ASCII碼都可以用“\”加數(shù)字(一般是8進(jìn)制數(shù)字)

// 來表示。而C中定義了一些字母前加

// "\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,"

// + "就稱為轉(zhuǎn)義字符,因為后面的字符,"

// + "都不是它本來的ASCII字符意思了。



for(String i:StringShuZu){

String[] douHao=i.split(",");

if(douHao.length!=2){

//JOptionPane.showMessageDialog(null,"登錄失敗");

continue;

}

if(douHao[0].equals(uname)&&douHao[1].equals(pwd)){

JOptionPane.showMessageDialog(null,"登錄成功");

return;

}

}

JOptionPane.showMessageDialog(null,"登錄失敗,"

+ "可能是沒注冊,或密碼等填寫有誤,先注冊! ");

}else if(neiRong.equals("注冊")){

//找到這個文件:

File weJian=new File("aa.txt");

//得到用戶輸入的用戶名和密碼

String uname=swing.unameKuang.getText().trim();

String pwd=swing.pwdKuang.getText().trim();

FileWriter zhuiJiaXieRu=new FileWriter(weJian,true);

//字符串拼接qqq? ?www

//難題:就是取內(nèi)容的時候,怎么區(qū)分開我保存的內(nèi)容:用split

String neirong=uname+","+pwd+"|";

zhuiJiaXieRu.write(neirong);

zhuiJiaXieRu.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}


}





將字節(jié)轉(zhuǎn)為字符:


package zhuanHuaLiu;


import java.io.*;


public class ziJieZiFu {

public static void main(String[] args) throws Exception{

//轉(zhuǎn)換流:

// 將字節(jié)轉(zhuǎn)為字符。is為InputStream的縮寫

InputStream shuRu=System. in;

//如果想讓標(biāo)準(zhǔn)輸入接收為字符,就用轉(zhuǎn)換流:

// isr為InputStreamReader的縮寫

InputStreamReader duQi=new InputStreamReader(shuRu);

char[] shuZu=new char [100] ;

// cs為“chars”的縮寫,代表有很多個char,為字符數(shù)組

// changDu:長度

int changDu=duQi. read(shuZu);

// len為length的縮寫

System. out . println(new String(shuZu ,0,changDu));

}

}




讀取一個相對路徑的有中文的txt文件,用轉(zhuǎn)碼器,輸入流讀取內(nèi)容輸入到轉(zhuǎn)碼碼器,用循環(huán)語句,字符數(shù)組輸出內(nèi)容,要求不出現(xiàn)亂碼:





package zhuanHuaLiu;


import java.io.*;


public class Chinese {

public static void main(String[] args) throws Exception{

File f=new File("aa.txt");

// input

//

// 輸入常用釋義

// 英 [??np?t]美 [??n?p?t]

// n.

// 放入物;帶入物;被操作物;輸入端;輸入裝置;輸入;能量輸入;電信號;捐獻(xiàn);投入

// v.

// 輸入

InputStreamReader zhuanMaQi=new InputStreamReader

(new FileInputStream(f) , "gb2312");

// zhuanMaQi:轉(zhuǎn)碼器

// InputStreamReader就是一種轉(zhuǎn)碼器

// gb2312:為某種編碼格式

char[] shuZu=new char[100] ;?

int changDu;

while( (changDu=zhuanMaQi.read(shuZu))!=-1){

System. out . println(new String(shuZu, 0,changDu));

}

zhuanMaQi. close();

}

}





請編寫代碼把一個GBK的文本文件內(nèi)容讀取后存儲到

一個UTF-8的文本文件中。(不論平臺是什么字符編碼)















package zhuanHuaLiu;


import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;


public class baoLiu {

public static void main(String[] args) throws IOException {

String src = "GBK.txt";//GBK的文本文件

String dest = "UTF-8.txt";//UTF-8的文本文件

// 不清楚當(dāng)前平臺的字符編碼時,

//讀取就只能選擇字節(jié)輸入流 ( FileInputStream)

// 和使用 InputStreamReader(進(jìn)行解碼,解析出格式),

// 就像把"塑料融化",之后方便"變成",設(shè)置成別的格式,"形狀",

// 之后輸出時才可以設(shè)置別的格式。

InputStreamReader jieMa =

new InputStreamReader(new FileInputStream(src),"GBK");

//輸出時只能選擇? FileOutputStream (字節(jié)輸出流)

//和用OutputStreamWriter(進(jìn)行編碼,設(shè)置編碼格式)

OutputStreamWriter bianMa =

new OutputStreamWriter(new FileOutputStream(dest),"UTF-8");


//一邊讀一邊寫:

//從jieMa中讀取,已經(jīng)解碼后的數(shù)據(jù),是字符流。

//從bianMa寫出時,先寫字符流,然后bianMa按照指定的編碼方式,

//再寫到FileOutputStream流中,再寫到文件中

char[] charShuZu = new char[1024];

int len;

while((len = jieMa.read(charShuZu)) != -1){

bianMa.write(charShuZu, 0, len);

}


//關(guān)閉解碼和編碼部分:

bianMa.close();

jieMa.close();

}

}





執(zhí)行代碼后:




注釋:

【char[] charShuZu = new char[1024];

int len;

while((len = jieMa.read(charShuZu)) != -1){

// len = jieMa.read(charShuZu):逐個解碼



bianMa.write(charShuZu, 0, len);


// bianMa.write(charShuZu, 0, len):進(jìn)行編碼

}








Java登不上SQL編輯器,IO流,轉(zhuǎn)換流字節(jié)轉(zhuǎn)字符,swing,二進(jìn)制JDBC,保存圖片詩書畫唱的評論 (共 條)

分享到微博請遵守國家法律
苗栗县| 珲春市| 景洪市| 丹巴县| 平顺县| 长治县| 交城县| 东丽区| 泽库县| 滨州市| 祁连县| 柞水县| 昌宁县| 大冶市| 邢台县| 屏南县| 射阳县| 响水县| 荔波县| 东安县| 卓尼县| 兴化市| 田东县| 呼和浩特市| 清徐县| 新河县| 东乡族自治县| 桂东县| 临武县| 陆丰市| 克拉玛依市| 太仆寺旗| 盘锦市| 阳山县| 嘉义市| 泰顺县| 鄂伦春自治旗| 蓬溪县| 恩平市| 图片| 盐山县|